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

Вниз

Как правильно вызвать OnMouseDown?   Найти похожие ветки 

 
novai   (2009-07-17 06:11) [0]

заголовок стандартный:
procedure TSetupBox.Button12MouseDown(Sender: TObject;
 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);


пытаюсь вызвать:
ProgramBox.Button12MouseDown(ProgramBox, mbLeft, ssLeft, 1, 1);
ругается на ssLeft! почему, ведь тип правилный? Как тогда првильно?


 
KilkennyCat ©   (2009-07-17 07:29) [1]

[ssShift]


 
KilkennyCat ©   (2009-07-17 07:35) [2]


> ведь тип правилный?


в справке, кстати, написано, что это за тип. И тогда будет нэправилный ;)


 
novai   (2009-07-17 07:41) [3]


> [ssShift]

это же нажат шифт?
и почему [] ? объясните пожалуйста...


 
KilkennyCat ©   (2009-07-17 07:44) [4]


> это же нажат шифт

да без разницы

> и почему []


Ты подумай, как ты напишешь одновременное нажатие шифта и альта... тогда поймешь, почему [] раз уж справку все-таки не хочешь глянуть.


 
novai   (2009-07-17 07:50) [5]


> раз уж справку все-таки не хочешь глянуть

я ее смотрел, но понял как, либо либо.
а почему без разницы?


 
KilkennyCat ©   (2009-07-17 08:02) [6]


> я ее смотрел, но понял как, либо либо

TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);

в твоем способе обращения с Set получается, что если захочется узнать, что нажато, ты напишешь if (ssLeft = Shift) then ... что крайне неверно. Верно if (ssLeft in Shift) then ...


> а почему без разницы?

потому что это пример. я указал на несоответствие типов, а что именно внутри - без разницы. хоть шифт, хоть лефт, хоть все вместе (на что снова обращаю внимание: там можно указать не один параметр).


 
KilkennyCat ©   (2009-07-17 08:06) [7]

дополню: если ты таким образом хотел указать только лишь, что событие вызвано, как нажатие левой кнопки мыши без всяких хитростей, то можешь просто [], ибо ты и так уже определил  Button: TMouseButton


 
novai   (2009-07-17 08:09) [8]

[6][7] спасибо за исчерпывающий ответ...



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1247770669
Ramil
2009-07-16 22:57
2009.09.20
DataSource


1-1215616092
misha_gr
2008-07-09 19:08
2009.09.20
Контекстное меню "Открыть с помощью..."


2-1247746439
kyn66
2009-07-16 16:13
2009.09.20
Правильное сопряжение числа со словом


15-1246008636
Kolan
2009-06-26 13:30
2009.09.20
Чем заменить TChart?


1-1216120082
badevlad
2008-07-15 15:08
2009.09.20
Как достать индексный файл (.hhc) из CHM?