Top.Mail.Ru
Ответы

Регистрация класса, вопрос.C++

Что будет если убрать if (!RegisterClass(&wcl)) return 0;
Окно не будет появляться, что еще, опешите подробнее.
Код:
#include <windows.h>


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int)
{
WNDCLASS wcl;
MSG msg;
HWND wnd;

wcl.style = 0;
wcl.lpfnWndProc = WndProc;
wcl.hInstance = hInst;
wcl.hCursor = LoadCursor(NULL, IDC_ARROW);
wcl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcl.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wcl.lpszMenuName = NULL;
wcl.lpszClassName = LPCWSTR(L"First");
wcl.cbClsExtra = wcl.cbWndExtra = 0;


if (!RegisterClass(&wcl)) return 0;

wnd = CreateWindow
(
LPCWSTR(L"First"),
LPCWSTR(L"Hello, Windows!"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL,
hInst,
NULL);

ShowWindow(wnd, SW_SHOW);


while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp)
{
switch (msg)
{

case WM_DESTROY:
PostQuitMessage(0);
return 0;

default:
return DefWindowProc(wnd, msg, wp, lp);

}
}

По дате
По рейтингу
Аватар пользователя
Новичок

Если по какой-то причине создать окно с требуемыми параметрами, указанными в wcl не получилось - программа завершит работу.