Простейшее графическое Win32 приложение на c++

code: #cpp
#include <Windows.h>
 
HWND hMain = NULL;
 
//Стандартная функция обработки сообщений окном
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
        UINT nCmd = HIWORD(wParam);
        UINT idCtrl = LOWORD(wParam);
        HWND hChild = (HWND)lParam;
 
        switch (msg)
        {       
        case WM_DESTROY:
                PostQuitMessage(0); //Закрываем приложение
                break;
 
        default: 
                return DefWindowProc(hWnd, msg, wParam, lParam); //возвращаем дефолтные значения                
        }
        return 0l;
}
 
//Главная функция приложения
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int)
{  
        MSG msg;
        WNDCLASS wc;
 
        memset(&wc, 0, sizeof(wc));
        wc.lpszClassName = L"MyWndClass"; //Название класса окна
        wc.hInstance = hInst ;
        wc.hCursor = LoadCursor(NULL, IDC_ARROW); //Курсор в окне
        wc.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1); //Цвет окна
        wc.lpfnWndProc = WndProc;        
        RegisterClass(&wc); //Регистрируем класс окна
 
        //Создать окно
        hMain = CreateWindow(wc.lpszClassName, L"Окошко", WS_OVERLAPPEDWINDOW, 100, 100, 800, 600, 0, 0, hInst, 0);  
        ShowWindow(hMain, SW_SHOW); //Показать окно
        UpdateWindow(hMain); //Обновить окно
 
        //Стандартный цикл обработки сообщение приложением
        while (GetMessage(&msg, NULL, 0, 0))
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }
        return (INT)msg.wParam;
}

автор: LittleBuster

Поделиться:

Похожие статьи: