Академический Документы
Профессиональный Документы
Культура Документы
Москва 2020
Цель практический работы
Изучить основы создания и управления окнами Windows-приложений на
базе WIN32/64 API.
Постановка задачи
Разработать приложение, в котором регистрируются оконные классы,
создаются окна классов в соответствии с вариантом задания.
Вариант – 2 (рис. 1)
#define MAX_LOADSTRING 99
#define ID_FIRSTCHILD 100
#define ID_SECONDCHILD 101
#define ID_THIRDCHILD 102
HINSTANCE hinst;
switch (Message)
{
case WM_CREATE: // создание основного окна
WNDCLASS w;
memset(&w, 0, sizeof(WNDCLASS));
w.lpfnWndProc = ChildProc;
w.hInstance = hinst;
w.hbrBackground = w.hbrBackground = CreateSolidBrush(RGB(0,
255, 255));
w.lpszClassName = "ChildOne";
w.hCursor = LoadCursor(NULL, IDC_CROSS);
RegisterClass(&w);
HWND child;
child = CreateWindowEx(0, "ChildOne", (LPCTSTR)NULL,
WS_CHILD | WS_BORDER | WS_VISIBLE, ptDiff.x, 150,
250, 200, hwnd, (HMENU)(int)(ID_FIRSTCHILD + 1),
hinst, NULL);
ShowWindow(child, SW_NORMAL);
UpdateWindow(child);
WNDCLASS w1;
memset(&w1, 0, sizeof(WNDCLASS));
w1.lpfnWndProc = ChildProc;
w1.hInstance = hinst;
w1.hbrBackground = CreateSolidBrush(RGB(51, 102, 255));
w1.lpszClassName = "ChildWTwo";
w1.hCursor = LoadCursor(NULL, IDC_CROSS);
RegisterClass(&w1);
HWND child1;
child1 = CreateWindowEx(0, "ChildWTwo", (LPCTSTR)NULL,
WS_CHILD | WS_BORDER | WS_VISIBLE, 100, 50,
300, 300, hwnd, (HMENU)(int)(ID_FIRSTCHILD + 2),
hinst, NULL);
ShowWindow(child1, SW_NORMAL);
UpdateWindow(child1);
if (Message == WM_DESTROY)
{
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, Message, wparam, lparam);
}
Вывод
В ходе выполнения данной практической работы были изучены основы
создания приложения на C++ с использованием Win API.