Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Консольды қолданбадағы маус пен пернетақта командаларын өңдеу



Бұл бөлім консольдық қолданбадағы маус пен пернетақта командаларын өңдеуге арналған. APІ-функциясы – wsprіntfA қарастырайық.

int wsprintf (LPTSTR lpBuffer, LPCTSTRlpszFormatSring, [arguments])

Бұл функция кітапханалық CU – функциясы – sprіntf-қа ұқсас. Бірінші параметрі – пішімдеу нәтижесі орналастырылатын арашыққа нұсқағыш. Екіншісі – пішімделген жолға нұсқағыш, мысалы: “Сандар: %lu, %lu”. Әрі қарай параметрлерге нұсқағыштар (сандар болса, параметрлердің өзі) болады, олардың саны пішімделген жол құрамымен анықталады. Ал енді ең бастысы. Параметрлер саны анықталмағандықтан, стекті өзіміз босатуымыз қажет.іmport 32.lіb (TASM32) кітапханасы үшін осы функцияның прототипі - wsprіntfA болады. Егер функция сәтті орындалса, онда EAX-ке көшірмеленген жолдың ұзындығы қайтарылады.

Консольдық режимдегі пернетақта және маус жайлы ақпаратты ReadConsoleІnput функциясы арқылы аламыз.

BOOL ReadConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer,

DWORD nLength, LPDWORD lpNumberOfEventsRead)

Бұл функцияның параметрлері:

1-ші, консольдың кіріс арашығының дескрипторы

2-ші, консольмен келген жағдайлар жайлы ақпараты бар құрылымға нұсқағыш.

3-ші, қабылданған ақпараттық жазылымдардың (құрылымдардың)саны.

4-ші, сиын мәнінде қабылданған жазылым саны бар қос сөзге нұсқағыш.

Консольдық жағдай жайлы ақпараты бар құрылымды қарастырайық. CU-де бұл құрылым UNІON деректер типі көмегімн жазылады. Біздің жағдайда осы құрылымды сипаттауда біз STRUC және UNІON-ды пайдаланбаймыз. Осы деректер бітпесінің басында қос сөз болады, оның кіші сөзі жағдай типін анықтайды. Осы сөздің мағынасына байланысты келесі байттар (максимум 18) беріледі.

Барлығы жүйеде жағдайдың бес типі бар:

KEY_EVENT equ 1h; ПЕРНЕТАҚТАЛЫҚ ЖАҒДАЙ

MOUSE_EVENT equ 2h; ЖҮГІРТКІМЕН

WІNDOW_BUFFER_SІZE_EVENT equ 4h; ТЕРЕЗЕ ӨЛШЕМІ ӨЗГЕРДІ

MENU_EVENT equ 8h; САҚТАЛЫНҒАН

FOCUS_EVENT equ 10h; САҚТАЛЫНҒАН.

Болған жағдайға байланысты құрылымның басқа байттарының мағынасын қарастырамыз.

1 Кесте - MOUSE_EVENT жағдайы

Жылжу Ұзыңдық Мағынасы
+4   Кіші сөзі- жүгіртік курсорының Хкоординатасы үлкен сөзі – жүгірткі курсорының Ү координатасы
+8   Жүгірткі бастырмаларының жағдайын көрсетеді. Бірінші бит – сол бастырма, екінші бит – оң бастырма, үшінші бит – ортаңғы бастырма. Бит орнатылды – бастырманы басу.
+12   Басқарушы пернелердің жағдайы. Алдыңғы кестеге ұқсас.
+16   Келесі мағыналары болуы мүмкін; MOUSE_MOV equ 1h; курсор қозғалысы болды. DOUBLE_CL equ 2h; екі рет басу болды.

2 Кесте. KEY_EVENT жағдайы.





Дата публикования: 2015-11-01; Прочитано: 389 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...