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

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

Внутри ли кнопки курсор. [D7]


Страницы:   1 2

Nikfel ©   (2007-08-01 13:05:00) 

Пожалуйста помогите.Как в OnMouseDown проверить находится ли курсор в нутри кнопки или нет.Заранее спасибо.


Юрий Зотов   (2007-08-01 23:20:00) [1]

WindowFromPoint?


DVM   (2007-08-01 15:14:00) [2]


> А вдруг воскреснет?

Кол в сердце забить. оСИновый.


Elen   (2007-08-01 15:11:00) [3]


>  нужно автора уволить. А лучше убить.

Радикально. А вдруг воскреснет?


Игорь Шевченко   (2007-08-01 15:06:00) [4]


> А если это событие не кликом вызвано, а в программе прописано
> мол Button1MouseDown(self) тогда все-таки проверить нужно
> наподобие [2]. Так?


Нет, нужно автора уволить. А лучше убить.


{RASkov}   (2007-08-01 15:06:00) [5]

> [16] DVM ©   (01.08.07 15:01)
> Т.е. мы намеренно будем так писать, в надежде запутать программу
> и потом сами же будем испытывать проблемы.
>
> Непонятно зачем это автору вопроса вообще понадобилось.

Вот и я о том же.... автор толком не объяснил, что ему нужно, отсюда и такие ответы...
Что он там имел ввиду... чей OnMouseDown .... какой кнопки.... в общем он молчит... ну и фик с ним :)
А решение его проблемы наверняка простое как всегда, только проблему он не смог написать.... :)


Elen   (2007-08-01 15:03:00) [6]


> Непонятно зачем это автору вопроса вообще понадобилось.

Это знает только автор.


DVM   (2007-08-01 15:01:00) [7]


> procedure TForm1.Button2MouseDown(Sender: TObject; Button:
>  TMouseButton; Shift: TShiftState; X, Y: Integer);
> begin
>   Button1MouseDown(Button1, Button, Shift, X, Y);> end;


Т.е. мы намеренно будем так писать, в надежде запутать программу и потом сами же будем испытывать проблемы.

Непонятно зачем это автору вопроса вообще понадобилось.


{RASkov}   (2007-08-01 14:58:00) [8]

Если вызов OnMouseDown происходит непосредственно нажатием онной кнопки, то нет смысла всей этой проверки курсора где он находиться...


Elen   (2007-08-01 14:58:00) [9]


> Я так понял, исходя из [0]...

Вот и я так подумала.


DVM   (2007-08-01 14:54:00) [10]


> Elen ©   (01.08.07 14:51) [11]
>
> > Переведи
>
> см. перевод в [9].

Так это к кнопке не имеет никакого отношения. Мало ли кто какую процедуру вызвал. Sender там на что дан?


{RASkov}   (2007-08-01 14:54:00) [11]

+1 [7] Elen

> Переведи

Я так понял, исходя из [0]
> Как в OnMouseDown проверить находится ли курсор в нутри кнопки или нет
то обработчик можно и программно вызвать.... Пример:

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var P: TPoint;
begin
 GetCursorPos(P);
 P:=ScreenToClient(P);
 if PtInRect((Sender as TControl).BoundsRect, P) then ShowMessage('Yes') else ShowMessage('No');
end;

procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 Button1MouseDown(Button1, Button, Shift, X, Y);
end;


Elen   (2007-08-01 14:51:00) [12]


> Переведи

см. перевод в [9].


Lacmus   (2007-08-01 14:51:00) [13]


procedure TForm11.Button1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 ShowMessage('Button1MouseDown')
end;

procedure TForm11.Button2Click(Sender: TObject);
begin
 SetCapture(Button1.Handle)
end;


StriderMan   (2007-08-01 14:47:00) [14]


> Как в OnMouseDown проверить находится ли курсор в нутри
> кнопки или нет

просто поверь :))

единственное исключение - если обработчик вызвали ручками, т.е. из другой процедуры.


Игорь Шевченко   (2007-08-01 14:42:00) [15]

Elen ©   (01.08.07 14:27) [7]

Переведи


Elen   (2007-08-01 14:27:00) [16]


> Игорь Шевченко ©   (01.08.07 13:57) [6]

А если это событие не кликом вызвано, а в программе прописано мол Button1MouseDown(self) тогда все-таки проверить нужно наподобие [2]. Так?


Игорь Шевченко   (2007-08-01 13:57:00) [17]

clickmaker ©   (01.08.07 13:15) [5]


> эээ... а как?


Извиняюсь. С OnMouseMove перепутал :)


clickmaker   (2007-08-01 13:15:00) [18]


> [4] Игорь Шевченко ©   (01.08.07 13:14)

эээ... а как?


Игорь Шевченко   (2007-08-01 13:14:00) [19]


> если в OnMouseDown кнопки, то ясно, что внутри


Точно ?


clickmaker   (2007-08-01 13:13:00) [20]


>  Nikfel ©   (01.08.07 13:05)

если в OnMouseDown кнопки, то ясно, что внутри
А если не кнопки, то ясно что снаружи
И в чем вопрос тогда?


Страницы:   1 2

Наверх

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