Базовые элементы Windows-приложений. Проект типа Win32 Application, страница 2

IDI_EXCLAMATION – используется в предупреждающих сообщениях

IDI_HAND – используется в серьезных предупреждающих сообщениях

IDI_QUESTION - используется в подсказках

IDI_WINLOGO - Windows logo.

Возвращаемое значение – дескриптор загруженной иконки или NULL при неуспешном завершении функции.

Замечание: функция LoadIcon загружает ресурс пиктограммы (цветную или монохромную bitmap), если он еще не был загружен, иначе возвращает дескриптор существующего ресурса.

Функция LoadCursor() :

HCURSOR LoadCursor( HINSTANCE hInstance, // дескриптор приложения

LPCTSTR lpCursorName): // указывает на строку, содержащую                                                                                                              //идентификатор ресурса курсора загружает курсор из: ресурса .EXE-файла, если параметр hInstance является дискриптором приложения (!=NULL) и стандартный курсор Windows, если hInstance ==NULL

Для стандартных курсоров:

IDC_APPSTARTING – стандартная стрелка и маленькие песочные часы

IDC_ARROW - стандартная стрелка

IDC_CROSS - крест

IDC_IBEAM - Text I-beam

IDC_NO – перечеркнутый круг

IDC_SIZEALL – крест со стрелками на концах

IDC_SIZENESW – двунаправленная стрелка (северо-восток – юго-запад)

IDC_SIZENS – двунаправленная стрелка (север – юг)

IDC_SIZENWSE – двунаправленная стрелка (северо-запад – юго-восток)

IDC_SIZEWE– двунаправленная стрелка (запад - восток)

IDC_UPARROW – вертикальная стрелка

IDC_WAIT – песочные часы

Возвращаемое значение – дескриптор загруженного курсора или NULL при неуспешном завершении функции.

Замечание: функция LoadIcon() загружает ресурс курсора, если он еще не был загружен, иначе возвращает дескриптор существующего ресурса.

Поле hbrBackground – дескриптор кисти, которой “закрашивается” фон окна. В данном случае – полю присваивается дескриптор на стандартную (системно-определенную) кисть. Дескрипторы стандартных графических объектов определяются при помощи функции GetStockObject().

Стандартные кисти:

WHITE_BRUSH, GRAY_BRUSH, LTGRAY_BRUSH, DKGRAY_BRUSH, BLACK_BRUSH, HOLLOW_BRUSH, NULL_BRUSH

Можно использовать не стандартные кисти, а стандартные цвета по умолчанию:

w.hbrBackground = (HBRUSH)(COLOR_WINDOW ); //или COLOR_WINDOWFRAME

Замечание: можно создать кисть любого цвета и структуры при помощи функций CreateSolidBrush() или CreateHatchBrush(), а также макроопределения COLOREF или RGB:

HBRUSH CreateSolidBrush(COLORREF crColor);                     //  COLORREF:0x00bbggrr

HBRUSH CreateSolidBrush( RGB(red,green,blue)) ;      //red, green и blue  - байтовые константы

HBRUSH CreateHatchBrush( int fnStyle, COLORREF crColor);

fnStyle: HS_BDIAGONAL, HS_CROSS, HS_DIAGCROSS, HS_FDIAGONAL, HS_HORIZONTAL, HS_VERTICAL

..5.2 Создание окна

– в отличие от RegisterClass() (которая определяет общий класс окна) функция CreateWindow() определяет конкретный экземпляр класса окна. Параметры функции задают класс окна, заголовок, стиль, (необязательно) начальные позицию и размер окна.

HWND CreateWindow(  LPCTSTR lpClassName,        //указатель на зарегистрированное имя класса

                                     LPCTSTR lpWindowName,    //указатель на строку заголовка окна

                                      DWORD dwStyle, //стили окна

                                      int x, //горизонтальная позиция окна

                                      int y, //вертикальная позиция окна

                                      int nWidth, //ширина окна

                                      int nHeight, //высота окна

                                      HWND hWndParent,      //дескриптор родительского окна

                                      HMENU hMenu,    //дескриптор меню или идентификатор дочернего окна

                                      HINSTANCE hInstance, //дескриптор экземпляра приложения

                                      LPVOID lpParam);         //указатель на window-creation data

Некоторые стили окна: