BOOL InitInstance(HINSTANCE hInstance, int nCmdShow, 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow,

Поиск

Cоздание окна

 

Регистрация класса окна еще не свидетельствует о создании самого окна. Окно создается в результате вызова функции CreateWindow(). В то время как класс окна определяет общие свойства всех окон данного семейства, параметры функции CreateWindow() задают описание конкретного экземпляра окна. Если функция CreateWindow() выполняется успешно, она возвращает дескриптор созданного окна, в противном случае - NULL.

 

В нашем примере функция CreateWindow() вызывается в функции InitInstance.

 

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow,

              const char * lpszName)

{

HWND hWnd;

hWnd = CreateWindow(

    lpszName,"Simple Application",WS_OVERLAPPEDWINDOW,

    CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,

    NULL);

if (!hWnd) return (FALSE);

ShowWindow(hWnd,nCmdShow);

UpdateWindow(hWnd);

return (TRUE);

}

 

Первый параметр, lpszName, содержит название класса окна. За ним в кавычках указывается содержимое строки заголовка окна — "Simple Application". Третий параметр задает стиль окна — ws_overlappedwindow. Это стандартный стиль Windows, определяющий обычное масштабируемое окно со строкой заголовка, системным меню, кнопками свертывания, развертывания и закрытия, а также с рамкой.

 

Следующие шесть параметров (cw_usedefault или NULL) определяют координаты начальной точки окна, его размеры, а также дескрипторы родительского окна и меню. Всем этим параметрам в нашем примере присвоены значения по умолчанию.

 

Десятый параметр, hInstance, содержит дескриптор экземпляра приложения. Окну не передаются никакие дополнительные значения, поэтому последний параметр равен NULL.

 

Для отображения окна на экране предназначена функция ShowWindow():

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 9; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.158.202 (0.01 с.)