Главная страница
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.013 c
3-1227533789
belmol
2008-11-24 16:36
2009.09.20
firebird и округление


3-1227136044
Petr V. Abramov
2008-11-20 02:07
2009.09.20
forall и bulk collect into


2-1248066170
apic
2009-07-20 09:02
2009.09.20
контекстное меню


2-1247750493
Константин
2009-07-16 17:21
2009.09.20
Сообщение кнопке. Подскажите пожалуйста.


3-1227518430
benito
2008-11-24 12:20
2009.09.20
Непривязанный к данным столбец в DBGrid