|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Creating a Main Window
The first window an application creates is typically the main window. You create the main window by using the CreateWindowEx function, specifying the window class, window name, window styles, size, position, menu handle, instance handle, and creation data. A main window belongs to an application-defined window class, so you must register the window class and provide a window procedure for the class before creating the main window.
Most applications typically use the WS_OVERLAPPEDWINDOW style to create the main window. This style gives the window a title bar, a window menu, a sizing border, and minimize and maximize buttons. The CreateWindowEx function returns a handle that uniquely identifies the window. The following example creates a main window belonging to an application-defined window class. The window name, "Main Window", will appear in the window's title bar. By combining the WS_VSCROLL and WS_HSCROLL styles with the WS_OVERLAPPEDWINDOW style, the application creates a main window with horizontal and vertical scroll bars in addition to the components provided by the WS_OVERLAPPEDWINDOW style. The four occurrences of the CW_USEDEFAULT constant set the initial size and position of the window to the system-defined default values. By specifying NULL instead of a menu handle, the window will have the menu defined for the window class.
HINSTANCE hinst; HWND hwndMain; // Create the main window. hwndMain = CreateWindowEx( 0, // no extended styles "MainWClass", // class name "Main Window", // window name WS_OVERLAPPEDWINDOW | // overlapped window WS_HSCROLL | // horizontal scroll bar WS_VSCROLL, // vertical scroll bar CW_USEDEFAULT, // default horizontal position
CW_USEDEFAULT, // default vertical position CW_USEDEFAULT, // default width CW_USEDEFAULT, // default height (HWND) NULL, // no parent or owner window (HMENU) NULL, // class menu used hinstance, // instance handle NULL); // no window creation data if (!hwndMain) return FALSE;
// Show the window using the flag specified by the program // that started the application, and send the application // a WM_PAINT message. ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain);
Notice that the preceding example calls the ShowWindow function after creating the main window. This is done because Windows does not automatically display the main window after creating it. By passing the SW_SHOWDEFAULT flag to ShowWindow, the application allows the program that started the application to set the initial show state of the main window. The UpdateWindow function sends the window its first WM_PAINT message.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Создание Основного Окна
Первое окно приложение создает, - обычно основное окно. Вы создаете основное окно используя функцию CreateWindowEx, определяющую класс окна, имени окна, стилей окна, размера, позиции, ручки меню, ручки примера, и данные создания. Основное окно принадлежит определенному прикладному классу окна, так что Вы должны зарегистрировать класс окна и обеспечивать процедуру окна для класса перед созданием основного окна.
Большинство приложений обычно используют стиль WS_OVERLAPPEDWINDOW, чтобы создавать основное окно. Этот стиль дает окну зону названия, меню окна, калибровка границы и минимизировать и расширять кнопки. Функция CreateWindowEx возвращает ручку, которая однозначно идентифицирует окно. Следующий пример создает основное окно, принадлежащее определенному прикладному классу окна. Имя окна, "Основного Окна", появится в зоне названия окна. Объединяя WS_VSCROLL и стили WS_HSCROLL со стилем WS_OVERLAPPEDWINDOW, приложение создает основное окно с горизонтальным и вертикальным перемещать зоны дополнительно к компонентам предусмотренным стилем WS_OVERLAPPEDWINDOW. Четыре случая константы CW_USEDEFAULT устанавливают начальный размер и позицию окна в определенное системное значение по умолчанию. Определяя НЕДЕЙСТВИТЕЛЬНЫМ вместо ручки меню, окно будет иметь меню определенное для класса окна.
HINSTANCE hinst; HWND hwndMain; // Создайте основное окно. hwndMain = CreateWindowEx( 0, // никакие расширенные стили "MainWClass", // имя класса "Основного Окна", // имя окна WS_OVERLAPPEDWINDOW | // перекрытое окно WS_HSCROLL | // горизонтальный перемещать зону WS_VSCROLL, // вертикальный перемещать зону CW_USEDEFAULT, // по умолчанию горизонтальную позицию
CW_USEDEFAULT, // по умолчанию вертикальная позиция CW_USEDEFAULT, // по умолчанию ширина CW_USEDEFAULT, // по умолчанию высота (HWND) НЕДЕЙСТВИТЕЛЬНОЕ, // никакое родительское или окно владельца (HMENU) НЕДЕЙСТВИТЕЛЬНЫЙ, // меню класса использовало hinstance, // ручку примера НЕДЕЙСТВИТЕЛЬНЫЙ); // никакие данные создания окна если (!hwndMain) обратная ЛОЖЬ;
// Покажите окно используя флаг определял программой //, что запускал приложение и посылал приложение // сообщение a WM_PAINT. ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain);
Обратите внимание как предыдущий пример вызывал функцию ShowWindow после создания основного окна. Это сделан поскольку Windows автоматически не отображает основное окно после создания это. Передавая флаг SW_SHOWDEFAULT на ShowWindow, приложение допускает программу, которая запускала приложение, чтобы устанавливать начальное состояние показа основного окна. Функция UpdateWindow посылает окну первое сообщение WM_PAINT.
|
|
|
|
| |