![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Привет Всем!!!!
Вот хочу сделать такое пасхальное яйцо в своей програмке, но незнаю как ![]() Вообщем нада чтоб при двойном клике на определенной области формы делалось что то(проигривался звук)Звук я прикручу, но вот как сделать двойной клик. Пусть будет это правый верхний угол формы!!! Помогите как это сделать у кого есть идеи!!! P.S. сделать невидимую кнопку или панельку там вроде можна но это уже как запасной вариант хочется чтоб по координатам |
|
#2
|
||||
|
||||
|
Код:
var fx, fy: Integer; implementation procedure TMainForm.FormDblClick(Sender: TObject); begin if (fx=MainForm.Width) and (fy=MainForm.Height) then // что-то делаем end; procedure TMainForm.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin fx:=X; fy:=Y; end; Примерно так. |
|
#3
|
||||
|
||||
|
На..................................
Последний раз редактировалось Pilot_Red, 14.06.2012 в 22:25. |
|
#4
|
||||
|
||||
|
чуть опоздал)))))), но суть та же
|
|
#5
|
|||
|
|||
|
API функция PtInRect в обработчике события OnDblClick формы
Код:
procedure TForm1.FormDblClick(Sender: TObject);
begin
if PtInRect(Rect(10, 15, 150, 200), Mouse.CursorPos) then
begin
ShowMessage('Попал!');
end;
end;Естественно, вместо Rect(10, 15, 150, 200) указать свой прямоугольник, а между begin и end - нужные действия. Последний раз редактировалось Raskolnikov, 14.05.2011 в 22:38. |
|
#6
|
|||
|
|||
|
Народ спасибо оперативно Вы все откликнулись
![]() |
|
#7
|
|||
|
|||
|
Хотя лучше так, используя обработчик OnMouseDown:
Код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (ssDouble in Shift) and PtInRect(Rect(20, 20, 100, 100), Point(X, Y)) then
begin
ShowMessage('Попал!');
end;
end; |
|
#8
|
|||
|
|||
|
Спасибо щас заценим
![]() |