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

Вниз

Константы MK_CONTROL и MK_SHIFT   Найти похожие ветки 

 
AZ ©   (2003-03-04 05:49) [0]

Делаю в OnCreate формы Myform
Application.OnMessage:=MouseMessages;
Пристыковываю

procedure Myform.MouseMessages(var Msg: TMsg; var Handled: boolean);
case Msg.message of
WM_LBUTTONDOWN: begin
MLButtonDown(Msg.wParam, Msg.pt);
end;

end;
end;

procedure Myform.MLButtonDown(Keys: longint; Pos: TPoint);
begin
case Keys of
//Понимает
5: Label1.Caption:="ShiftDown"; // Но не понимает MK_CONTROL
//Понимает
9: Label1.Caption:="ControlDown"; // Но не понимает MK_SHIFT
end;

end;

Компилируется с константами MK_CONTROL и MK_SHIFT нормально, но их не воспринимает.
В чем фокус?


 
AZ ©   (2003-03-04 05:55) [1]

Прошу извинения, следует читать так:
//Понимает
5: Label1.Caption:="ShiftDown"; // Но не понимает MK_SHIFT
//Понимает
9: Label1.Caption:="ControlDown"; // Но не понимает MK_CONTROL
end;


 
Anatoly Podgoretsky ©   (2003-03-04 09:29) [2]

Их надо предварительно объявить где нибудь.


 
icWasya ©   (2003-03-04 10:39) [3]

unit windows;

const
{ Key State Masks for Mouse Messages }
{$EXTERNALSYM MK_LBUTTON}
MK_LBUTTON = 1;
{$EXTERNALSYM MK_RBUTTON}
MK_RBUTTON = 2;
{$EXTERNALSYM MK_SHIFT}
MK_SHIFT = 4;
{$EXTERNALSYM MK_CONTROL}
MK_CONTROL = 8;
{$EXTERNALSYM MK_MBUTTON}
MK_MBUTTON = $10;


 
AZ ©   (2003-03-04 12:38) [4]

>Anatoly Podgoretsky © (04.03.03 09:29)
Но раз компилятор не ругается, значит эти константы уже объявлены?

>icWasya © (04.03.03 10:39)
Я видел эти объявления.
Почему-то на MK_RBUTTON = 2 никакой реакции.


 
AZ ©   (2003-03-04 16:40) [5]

Up


 
icWasya ©   (2003-03-04 16:48) [6]

надо не

Keys = MK_RBUTTON

а

(Keys and MK_RBUTTON) <>0



 
Anatoly Podgoretsky ©   (2003-03-04 17:04) [7]

AZ © (04.03.03 12:38)
Насчет ругается или нет не было ни слова, а так они объявлены в Windows, но цифровые коды у тебя не соответствуют этим константам, надо использовать логическое сложение нескольких флагов.


 
Anatoly Podgoretsky ©   (2003-03-04 17:05) [8]

Извиняюсь было, не заметил.


 
AZ ©   (2003-03-05 02:03) [9]

Спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
7-54357
lgcpiton
2003-01-20 16:12
2003.03.17
Закріть доступ к директории


7-54324
badaxe
2003-01-21 09:30
2003.03.17
Как определить время бездействия клавиатуры и мыши?


8-54117
aspen
2002-12-03 13:45
2003.03.17
программное определение частоты


14-54174
MsGuns
2003-02-28 18:36
2003.03.17
Мусорное ведро


3-53935
fool
2003-02-26 12:13
2003.03.17
ADO - после Post обнуляеться(NULL) значение поля, почему?