Главная страница
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.02 c
4-54365
James007
2003-01-11 23:10
2003.03.17
Программирование ICQ


3-53864
Ralf
2003-02-25 00:03
2003.03.17
под XP перестал работать ADO-шный код из-под Delphi 5


3-53928
Wizzard
2003-02-26 06:02
2003.03.17
Как сделать реверс-сортировку в TClientDataSet (без SQL)


6-54137
Ihor Osov'yak
2003-01-25 00:53
2003.03.17
TServerSocket: Read error 998, Неверная попытка доступа к адресу


1-53965
SeNtiMeL
2003-03-05 23:15
2003.03.17
Как скрыть курсор в Memo и RichEdit ?