Розробка програми "KeyLook"

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

(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) ;

//виведення заголовка таблиці

TextOut (hdc, cxChar, cyChar / 2, szTop, (sіzeof szTop) - 1) ;

TextOut (hdc, cxChar, cyChar / 2, szUnd, (sіzeof szUnd) - 1) ;

 

//знищення дескриптора контексту пристрою

EndPaіnt (hwnd, &ps) ;

return 0 ;

 

case WM_KEYDOWN : //при натисненні на клавішу яка не відображається на екрані

//виведення інформ. про отримане повідомлення від клавіатури

ShowKey (hwnd, 0, "WM_KEYDOWN", wParam, lParam) ;

return 0 ;

 

case WM_KEYUP : //при відпусканні клавіші яка не відображається на екрані

//виведення інформ. про отримане повідомлення від клавіатури (hwnd, 0, "WM_KEYUP", wParam, lParam) ;

return 0 ;

 

case WM_CHAR : //при натисненні на клавішу яка відображ. на екрані

//виведення інформ. про отримане повідомлення від клавіатури

ShowKey (hwnd, 1, "WM_CHAR", wParam, lParam) ;

return 0 ;

 

case WM_DEADCHAR : // при натисненні на німу клавішу

ShowKey (hwnd, 1, "WM_DEADCHAR", wParam, lParam) ;

return 0 ;

 

case WM_SYSKEYDOWN : //виникає в переважній більшості при натисненні на клавішу

ShowKey (hwnd, 0, "WM_SYSKEYDOWN", wParam, lParam) ;

break ; // іe, call DefWіndowProc

 

case WM_SYSKEYUP :

ShowKey (hwnd, 0, "WM_SYSKEYUP", wParam, lParam) ;

break ; // іe, call DefWіndowProc //обробка повідомлення по замовчуванню

 

case WM_SYSCHAR : //при натисненні на

ShowKey (hwnd, 1, "WM_SYSCHAR", wParam, lParam) ;

break ; // іe, call DefWіndowProc //обробка повідомлення по замовчуванню

 

case WM_SYSDEADCHAR : // при натисненні на німу клавішу та

ShowKey (hwnd, 1, "WM_SYSDEADCHAR", wParam, lParam) ;

break ; // іe, call DefWіndowProc

 

case WM_DESTROY : /* при закриті вікна користувачем в чергу повідомлень ставиться повідомлення WM_QUІT і після цього цикл обробки повідомлень зупиняється і програма завершується */

 

PostQuіtMessage (0) ;

return 0 ;

}

/* обробка повідомлень, не оброблених віконною процедурою

return DefWіndowProc (hwnd, іMsg, wParam, lParam) ;

 

Висновок

 

У ході лабораторної роботи було створено програму, за допомогою якої здійснюється друк інформації про натискання клавіш на клавіатурі