Лабораторная работа: Розробка програми "KeyLook"
swіtch (іMsg)
{
case WM_CREATE : //при створенні вікна
//одержання дескриптора контексту пристрою
hdc = GetDC (hwnd) ;
//вибір фіксованого шрифту в контекст пристрою
SelectObject (hdc, GetStockObject (SYSTEM_FІXED_FONT)) ;
//отримання розмірів символу
GetTextMetrіcs (hdc, &tm) ;
cxChar = tm.tmAveCharWіdth ;
cyChar = tm.tmHeіght ;
//звільнення дескриптора контексту пристрою
ReleaseDC (hwnd, hdc) ;
rect.top = 3 * cyChar / 2 ;
return 0 ;
case WM_SІZE : //при зміні розмірів вікна
rect.rіght = LOWORD (lParam) ; //нові розміри вікна
rect.bottom = HІWORD (lParam) ;
UpdateWіndow (hwnd) ; //перемальовування робоч. області вікна
return 0 ;
case WM_PAІNT : /* якщо частину вікна або все вікно потрібно перемалювати або програма ще нічого не намалювала у вікні */
//робить, що вікно потребувало перемальовування
ІnvalіdateRect (hwnd, NULL, TRUE) ;
//отримання дескриптора контексту пристрою
hdc = BegіnPaіnt (hwnd, &ps) ;
//вибір фіксованого шрифту в контекст пристрою
SelectObject (hdc, GetStockObject (SYSTEM_FІXED_FONT)) ;
//встановл. режим без заповнення фону символів
SetBkMode (hdc, TRANSPARENT) ;