Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
1

RegisterClassEx возвращает 0

26.07.2014, 13:53. Показов 861. Ответов 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);
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2014, 13:53
Ответы с готовыми решениями:

Создать функцию, которая возвращает массив в обратном порядке. Именно возвращает
Не могу никак создать функцию.

Функция RegisterClassEx
Добрый день! помогите, пожалуйста, разобраться, почему появляется исключение в коде программы: ...

Класс из RegisterClassEx создаётся только для оного HWND окна? :-)
Привет. Долгое программирование на Qt спровоцировало появление сомнений в основах WinAPI в связи с...

Метод без проблем возвращает строку, но не возвращает класс
Здравствуйте! Уже сутки бьюсь с проблемой и не пойму вообще почему она возникла. Есть WCF-сервер и...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32585 / 21055 / 8133
Регистрация: 22.10.2011
Сообщений: 36,327
Записей в блоге: 8
26.07.2014, 14:29 2
hIconSm инициализируется дважды, а hIcon - ни разу.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2014, 14:29
Помогаю со студенческими работами здесь

OpenEventLog возвращает 0, GetLastError возвращает 1314 (Недостаточно прав)
Добрый день! В программе используется OpenEventLog, она возвращает нулевой дескриптор, вызванная...

Как вернуть в запросе значение по умолчанию, если SELECT возвращает NULL или ничего не возвращает?
Добрый день! Например я хочу чтобы донное выражение возвращало мне 0 или скажем 1, если...

mysqli_insert_id не возвращает ID вставленной записи, постоянно возвращает "1".
Есть запрос такой расчитываю через insert_id получить id добавленной книги, но почему-то возвращает...

Label.getHeight возвращает 0, а Label.getPrefHeight возвращает -1
Не могу получить высоту лейбла. Label label = new Label("message message message message...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru