Операционные системы. Программирование в операционной среде Windows
78 Приложение 2. Каркас стандартного Windows -нриложения #include "windows.h" /* объявление функции окна */ LRESULT CALLBACK WindowFunc (HWND, UINT, WPARAM, LPARAM); char szWinName[] = "MyWin"; // Имя "класса" окна /* Главная функция */ int WINAPI WinMain (HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR IpszArgs, int nWinMode) { HWND hWnd; // дескриптор окна MSG msg; // сообщение WNDCLASSEX wcl; // "класс" окна /* Определение "класса" (стиля) окна */ wcl.hinstance = hThisInst; /^дескриптор данного экземпляра*/ wcl.IpszClassName = (LPCWSTR)szWinName; // имя "класса" окна wcl.IpfnWndProc = WindowFunc; // функция окна wcl.style = 0 ; // стиль по умолчанию wcl.cbSize = sizeof(WNDCLASSEX); // размер структуры wcl.hlcon = Loadlcon(NULL,IDI_APPLICATION); //больш.иконка wcl.hlconSm = Loadlcon(NULL, IDI_WINLOGO); // малая иконка wcl.hCursor = LoadCursor(NULL, IDC_ARROW); //форма курсора wcl.IpszMenuName = NULL; // меню не используется wcl.cbClsExtra = 0 ; // дополнит, информации нет wcl.cbWndExtra = 0; /* Фон окна задается белым */ wcl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); /* Регистрация "класса" окна */ if (!RegisterClassEx(&wcl)) return 0; /* Создание окна */ hWnd = CreateWindowEx ( 0, (LPCWSTR)szWinName, // имя "класса" окна (LPCWSTR)"", // заголовок WS_OVERLAPPEDWINDOW, // стандартное окно CW_USEDEFAULT, // координата X - по умолчанию CW_USEDEFAULT, // координата Y - по умолчанию CW_USEDEFAULT, // ширина - по умолчанию CW_USEDEFAULT, // высота - по умолчанию HWND_DESKTOP, // родительского окна нет NULL, // меню нет hThisInst, // дескриптор данного экземпляра приложения NULL // дополнительных аргументов нет ); /* Отображение окна */ ShowWindow(hWnd, nWinMode); /* Цикл сообщений */ while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage (&msg); } return msg.wParam;
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy