Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Бендерродригез
Сгибальщик
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
#1

RegisterClassEx возвращает 0 - C++

26.07.2014, 13:53. Просмотров 261. Ответов 1
Метки нет (Все метки)

Здоровеньки булы.
Не могу зарегистрировать класс окна. RegisterClassEx возвращает 0, GetLasterror даёт результат 87 (Параметр задан неверно).
Никак не пойму, что именно заданно не так.
Unicode отключён, все функции версии A.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Window {
        HINSTANCE Hinstance;
        LPCTSTR ClassName;
        ATOM ClassType;
        HWND Hwnd;
        static LRESULT CALLBACK WindProc(HWND Hwnd, UINT Msg, WPARAM WParam, LPARAM LParam) {
            return DefWindowProc(Hwnd, Msg, WParam, LParam);
        };
    public:
        Window(HINSTANCE Hinst, LPCTSTR Name, WindowStyle WStyle = WindowStyle());
        void Run();
    };
 
    Window::Window(HINSTANCE Hinst, LPCTSTR Name, WindowStyle WStyle)
        : Hinstance(Hinst), ClassName(Name), ClassType(0) {
        WNDCLASSEX WC;
        WC.cbSize = sizeof(WNDCLASSEX);
        WC.style = CS_HREDRAW | CS_VREDRAW;
        WC.lpfnWndProc = Window::WindProc;
        WC.cbClsExtra = 0;
        WC.cbWndExtra = 0;
        WC.hInstance = Hinst;
        WC.hIconSm = LoadIcon(nullptr, IDI_APPLICATION);
        WC.hCursor = LoadCursor(nullptr, IDC_ARROW);
        WC.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
        WC.lpszMenuName = nullptr;
        WC.lpszClassName = Name;
        WC.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
        ClassType = RegisterClassEx(&WC);
        Hwnd = CreateWindow(Name, 0, WStyle.GetStyle(), 0, 0, 0, 0, nullptr, nullptr, Hinstance, 0);
    }
 
    void Window::Run() {
        ShowWindow(Hwnd, SW_SHOWNORMAL);
        MSG msg;
        while(GetMessage(&msg, NULL, 0, 0)) {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2014, 13:53     RegisterClassEx возвращает 0
Посмотрите здесь:

Не возвращает значение - C++
Здравствуйте! Помогите люди добрые?) Вообщем, нужно написать на Visual C++ библиотеку? а после запустить ее на Лабвью Код есть...

exp(x) возвращает 0 - C++
Мне необходимо написать функцию которая возвращает значение функции распределения скоростей Максвелла(вероятность того, что молекула...

Что возвращает операто NEW - C++
Что возвращает операто NEW ? если не достаточно памяти ??? по ходу НОЛЬ,,,,,,???

Подпрограмма не возвращает значение - C++
Отрывок программы. Не возвращает значение pr (в подролграмме считает по-новому , но в соновной записывает по старому) * * * ...

Метод не возвращает значение - C++
Здравствуйте. Создал простейший метод, для возвращения введённого значения. А возвращает то-адрес, то-ли что-то непонятно. Прошу объяснить...

Что возвращает length? - C++
Что возвращает s.length(), если std::string s; хранит UTF8? Длину в байтах, или в символах?

this возвращает неправильное значение - C++
#include <iostream> #include <string> using namespace std; class oops{ public: oops():key(10){} int key; oops& oper1(int...

Функция возвращает объект - C++
Доброго времени суток! Как сделать, чтобы функция возвращала объект, ну или указатель на объект. Использую так: Image->Picture...

Что возвращает конструктор? - C++
Здравствуйте! Я не могу понять, как происходит присвоение вот здесь: object obj = object(10) object - класс, написанный программистом....

DLL не возвращает строку - C++
Добрый день. Хочу создать DLL для использования в 1с. Пока получается только вернуть число, а нужно вернуть строку. Вызывается метод met4....

Функция возвращает структуру - C++
Всем привет. Есть код взят из книжки "С++ 2008 для начинающих", ошибок при проверке не выдает , но при отдалке пишет: нет прав на чтение....

Функция не возвращает false - C++
Вообщем str это строка, которая может содержать в себе знак математической операции, скобки, число (например 1, 5, 556, 33 ..) и т.д. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23244 / 15235 / 4427
Регистрация: 22.10.2011
Сообщений: 27,092
Записей в блоге: 4
26.07.2014, 14:29     RegisterClassEx возвращает 0 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
hIconSm инициализируется дважды, а hIcon - ни разу.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru