Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно вызвать OnMouseDown? [D6, XP]


novai ©   (2009-07-17 06:11:00) 

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


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


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

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


KilkennyCat   (2009-07-17 08:06:00) [2]

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


KilkennyCat   (2009-07-17 08:02:00) [3]


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

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

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


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

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


novai   (2009-07-17 07:50:00) [4]


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

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


KilkennyCat   (2009-07-17 07:44:00) [5]


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

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

> и почему []


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


novai   (2009-07-17 07:41:00) [6]


> [ssShift]

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


KilkennyCat   (2009-07-17 07:35:00) [7]


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


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


KilkennyCat   (2009-07-17 07:29:00) [8]

[ssShift]


Наверх

Титульная страница Поиск, карта сайта Написать письмо