Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.25;
Скачать: CL | DM;

Вниз

keydown   Найти похожие ветки 

 
race1 ©   (2002-11-14 14:52) [0]

а как в {$APPTYPE CONSOLE} сделать перехват события, в частности, нажатия на клапку? компильятор - Delphi!


 
asmith   (2002-11-14 18:39) [1]

Грубо говоря, консольные аппликации не обрабатывабт событий в привычном смысле слова. Вот пример, как реагировать на нажатие клавиш и события от мыши, разберешься.

{$APPTYPE CONSOLE}
program ConsoleInput;

uses
Windows;

var
hInput: THandle;
arrInputRecs: array[0..9] of TInputRecord;
dwCur, dwCount: DWORD;
cCur: Char;
coorCur: TCoord;
begin
hInput := GetStdHandle(STD_INPUT_HANDLE);
while True do
begin
ReadConsoleInput(hInput, arrInputRecs[0], 10, dwCount);
for dwCur := 0 to dwCount - 1 do
case arrInputRecs[dwCur].EventType of
KEY_EVENT: with arrInputRecs[dwCur].Event.KeyEvent do
begin
cCur := AsciiChar;
if cCur = "" then
if bKeyDown then
WriteLn("Unprintable key pressed.")
else
Writeln("Unprintable key released.")
else
if bKeyDown then
WriteLn("Pressed ", cCur, " ", wRepeatCount, " times.")
else
WriteLn("Released ", cCur, " key.");
end;

{*** Delphi has renamed MOUSE_EVENT to avoid a conflict ***}
{*** with a windows function mouse_event() ***}
_MOUSE_EVENT: with arrInputRecs[dwCur].Event.MouseEvent do
begin
coorCur := dwMousePosition;
if dwEventFlags = 0 then
WriteLn("Button Pressed at ", coorCur.X, ",", coorCur.Y);
end;
end;
end;
end.



Страницы: 1 вся ветка

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.022 c
14-82992
Bboy
2002-11-03 09:48
2002.11.25
Помогите определиться с выбором 3d программы


1-82825
oomneeq
2002-11-13 18:04
2002.11.25
Визуальная ли это компонента?


1-82793
dimonf
2002-11-13 15:30
2002.11.25
Как зашифровать от лишних глаз INI файл ???


1-82817
EvgenyDr
2002-11-12 23:10
2002.11.25
Вызов функций DLL из компонента.


6-82898
Mishel
2002-07-24 15:33
2002.11.25
TServerSocket - Опрос запущеных серверов