Untitled
unknown
c_cpp
2 years ago
2.5 kB
1
Indexable
Never
#include <windows.h> #include <windowsx.h> /* Прототип используемой в программе функции */ LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); void OnPaint(HWND);//Прототип функции OnPaint void OnDestroy(HWND);//Прототип функции OnDestroy /*Главная функция WinMain */ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int) { char szClassName[] = "MainWindow"; char szTitle[] = "Программа 2"; MSG Msg; WNDCLASS wc; /* Регистрация класса главного окна */ ZeroMemory(&wc, sizeof(wc)); wc.lpfnWndProc = WndProc; wc.hInstance = hInst; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = GetStockBrush(WHITE_BRUSH); wc.lpszClassName = L"MainWindow"; RegisterClass(&wc); /* Создание главного окна и отображение его на экране */ HWND hwnd = CreateWindow(L"MainWindow", L"Программа 2", WS_OVERLAPPEDWINDOW, 250, 150, 400, 200, HWND_DESKTOP, NULL, hInst, NULL); ShowWindow(hwnd, SW_SHOWNORMAL); /* Организация цикла обнаружения сообщений */ while (GetMessage(&Msg, NULL, 0, 0)) DispatchMessage(&Msg); return 0; } /* Оконная функция WndProc главного окна */ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { HANDLE_MSG(hwnd, WM_PAINT, OnPaint);//Обработка сообщения WM_PAINT HANDLE_MSG(hwnd, WM_DESTROY, OnDestroy);//Обработка сообщения WM_DESTROY default: return(DefWindowProc(hwnd, msg, wParam, lParam)); } } /*Функция обработки сообщения WM_PAINT*/ void OnDestroy(HWND) { PostQuitMessage(0); } /*Функция обработки события WM_PAINT*/ void OnPaint(HWND hwnd) { char szText[] = "Строка текста для вывода в главное окно"; PAINTSTRUCT ps;//Структура, требуемая для рисования в рабочей области HDC hdc = BeginPaint(hwnd, &ps);//Получение контекста устройства TextOut(hdc, 5, 30, L"Программа 2", strlen(szText));//Вывод строки текста EndPaint(hwnd, &ps);//Освобождение контекста устройства }