Хотя функция CreateWindow() и создает окно, это не значит, что оно будет автоматически отображаться на экране дисплея. Для отображения окна следует воспользоваться функцией ShowWindow(), а для обновления окна функцией UpdateWindow(). Эти функции вызываются, как правило, сразу же после создания окна функцией CreateWindow():
ShowWindow (hWnd, nCmdShow) ; // Отображение окна
UpdateWindow (hWnd) ; // Обновление окна
Функция ShowWindow() отображает окно, дескриптор которого передается ей в качестве первого параметра (практически для всех функций работы с окнами первым параметром должен быть указан дескриптор окна). Второй передаваемый параметр определяет, как отображается окно - в виде пиктограммы или полностью. Если параметр nCmdShow равен SW_SHOWNORMAL, то окно отображается открытым, а если он равен SW_SHOWMINNOACTIVE, то окно отображается в виде пиктограммы.
Функция UpdateWindow() передает функции окна, заданного параметром hWnd, сообщение WM_PAINT. Получив это сообщение, функция окна обновляет содержимое окна.
Таким образом, для отображения окна на экране необходимо:
· Зарегистрировать класс окна функцией RegisterClass().
· Создать окно функцией CreateWindow().
· Отобразить окно функцией ShowWindow().
· Обновить окно функцией UpdateWindow().
Такое разделение на ряд этапов имеет большое значение.
Во-первых, зарегистрировав класс окна, программа может создавать не одно, а несколько окон, несколько копий.
Во-вторых, порядок и место вызова функций ShowWindow() и UpdateWindow() не является обязательным. Окно может быть отображено не в момент создания, а позже.