IF uMsg==WM_DESTROY

invoke PostQuitMessage,NULL

.ELSEIF uMsg==WM_CREATE ; обробка повідомлення WM_CREATE

invoke CreatePen, ; створення пера

PS_SOLID,10, ; завтовшки 10 пікселів

dword ptr color1 ;

mov hPen1,eax ; збереження отриманого дескриптора пера

.ELSEIF uMsg==WM_COMMAND; якщо є повідомлення від меню

mov eax,wParam

.IF ax==IDM_FUNC; якщо є повідомлення про відображення фігур

invoke GetDC, hWnd ; отримати дескриптор контексту пристрою

mov hdc, eax ; збереження

invoke SelectObject, ; вибирається в контекст

hdc,hPen1 ; нове перо

invoke CreateHatchBrush, ; створення кісті для замалювання фігури

HS_HORIZONTAL, ; стиль – горизонтальна штриховка

dword ptr color1 ; значення кольору

mov blueBrush,eax ; збереження параметрів кісті

invoke SelectObject, ; вибір об’єкта з параметрами

hdc, ; контекст пристрою

blueBrush ; параметри кісті

invoke RoundRect,

hdc, ; дескриптор контексту пристрою

40,40, ; х-, у-координата верх. лівого кута

500,300, ;х-, у-коорд. нижн. прав кута

40,40 ;ширина та висота еліпса для рисування кута

 

invoke CreateHatchBrush, ; створення кісті для зарисування фігури

HS_DIAGCROSS, ; стиль – штриховка під 45 зліва та справа

dword ptr color2 ; значення кольору

mov blueBrush,eax ; збереження параметрів кісті

invoke SelectObject, ; вибір об’єкта з параметрами

hdc, ; контекст пристрою

blueBrush ; параметри кісті

invoke Polygon,

hdc, ; дескриптор контексту пристрою

addr poln, ; адреса масиву координат точок

3 ; кількість вершин в масиві

invoke ReleaseDC, hWnd, hdc ; визволення контексту пристрою

.ELSEIF ax==IDM_AUTOR; якщо є повідомлення "Autor"

invoke GetDC, hWnd ; отримання дескриптора контексту пристрою

mov hdc, eax ; збереження

invoke SelectObject, hdc,hPen1 ; отримання в контекст нового пера

invoke SetTextColor,hdc, dword ptr color3 ; встановлення кольору тексту

invoke TextOut,hdc, 170,10, ; x-, y-коодината стартової позиції

addr mytext, 40 ; адреса рядка та число символів в рядку