Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];
ВнизOnMouseEnter и OnMouseLeave для всего ... Найти похожие ветки
← →
TUserClass (2008-06-07 12:02) [0]Всем привет! Можно ли как-нить отлваливать OnMouseEnter и OnMouseLeave для любого объекта? Какую-нить процедурку бы забацать, в которую приходил бы в кач-ве параметра Sender : TObjеct. Никак нельзя?
← →
Игорь Шевченко © (2008-06-07 12:10) [1]можно. обрабатывать CM_MOUSEENTER и CM_MOUSELEAVE
← →
Ega23 © (2008-06-07 12:11) [2]Простым способом - нельзя, надо изголяться.
Какую задачу решаешь?
← →
Рамиль © (2008-06-07 12:11) [3]Забацай процедурку и зацепи ко всем объектам. В чем проблема?
← →
Ega23 © (2008-06-07 12:12) [4]
> можно. обрабатывать CM_MOUSEENTER и CM_MOUSELEAVE
Ему "для всего" надо. А это - переписывать VCL :)
← →
TUserClass (2008-06-07 12:16) [5]Ну впринципи, проглядев прогу я понял - не ко всем объектам впринципи - думаю обойдусь только к TImage... Наверн надо наследника создавать...Щас попробую, модет полуЦЦа :)
← →
Ega23 © (2008-06-07 12:19) [6]
> умаю обойдусь только к TImage...
Тогда - [1]
← →
TUserClass (2008-06-07 13:46) [7]Вот глупый MSIE - он не дает мне отловить CM_MOUSEENTER и CM_MOUSELEAVE..Как быть ???
Вот такая фишка не прокатывает:TNewImage = class (TImage)
private
EOnMouseEnter : TNotifyEvent;
procedure HookOnMouseEnter (var Message : TMessage); message CM_MOUSEENTER;
published
property OnMouseEnter : TNotifyEvent read EOnMouseEnter write EOnMouseEnter;
end;
....procedure TNewImage.HookOnMouseEnter;
begin
ShowMessage ("s");
end;
← →
{RASkov} © (2008-06-07 14:03) [8]
TNewImage = class (TImage)
private
.......
FOnMouseLeave: TNotifyEvent;
FOnMouseEnter: TNotifyEvent;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
published
.........
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;
...........
procedure TNewImage.CMMouseEnter(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;
procedure TNewImage.CMMouseLeave(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;
← →
TUserClass (2008-06-07 14:04) [9]
> {RASkov} © (07.06.08 14:03) [8]
Да это я знаю :) ... Просто я не весь код суда написал ... Все равно в случае выполнения procedure TNewImage.HookOnMouseEnter; должно показаться сообщение, а оно не показывается ... :(
← →
{RASkov} © (2008-06-07 14:05) [10]> [9] TUserClass (07.06.08 14:04)
Inherited видишь?
← →
TUserClass (2008-06-07 14:06) [11]Я просто тулбар к MSIE пишу.. А этот самый собака MSIE почему то не передает CM_ONMOUSEENTER моему тулбару. :(
← →
Игорь Шевченко © (2008-06-07 14:08) [12]
> Я просто тулбар к MSIE пишу.. А этот самый собака MSIE почему
> то не передает CM_ONMOUSEENTER моему тулбару
потому что он ничего не знает про CM_MOUSEENTER
← →
TUserClass (2008-06-07 14:08) [13]
> {RASkov} © (07.06.08 14:05) [10]
Ах...да...я грубую ошибку сделал...надо было брать функцию базового класса....но самое интересное, что все равно НЕ РАБОТАЕТ :(
← →
Игорь Шевченко © (2008-06-07 14:09) [14]
> Вот глупый MSIE
Это не он глупый
← →
TUserClass (2008-06-07 14:09) [15]
> Игорь Шевченко © (07.06.08 14:08) [12]
А вот как ему пришить обработку этого сообщения, зная только его HWND?
← →
Игорь Шевченко © (2008-06-07 14:10) [16]TUserClass (07.06.08 14:09) [15]
> А вот как ему пришить обработку этого сообщения, зная только
> его HWND?
Ты сначала подумай, кто его посылать будет
← →
{RASkov} © (2008-06-07 14:12) [17]Что-то я не внимательно ветку читал...(
Сдается мне, что ты подошел не с того конца к задаче....
← →
TUserClass (2008-06-07 14:16) [18]
> {RASkov} © (07.06.08 14:12) [17]
Эххх...а всего то надо отловить Вход/Выход мыши. Я даже представить не мог что микромягкий експлорер не даст мне сего совершить. :(((((
← →
TUserClass (2008-06-07 14:24) [19]Причем заметил еще одну странность. Если положить на тулбар обычный Image : TImage. Сделать ему ShowHint := true; Hint := "Подсказка"; то MSIE даже не подумает показывать подсказку. Но если после этого создать форму Form := TForm.Create (Application); Form.Show; то после показа формы главное окно MSIE становится не активным и при наведение на Image появится посказка. o_O
Наверн MSIE писал такой же криворукий как и я :))
← →
Anatoly Podgoretsky © (2008-06-07 15:47) [20]> TUserClass (07.06.2008 14:24:19) [19]
Да куда уж им до тебя.
← →
TUserClass (2008-06-07 15:50) [21]Блин ... сейчас скачал "чужой" код тулбара и там тоже не работают hint"ы и mouse leave/enter :( что ж за напасть такая ...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.186 c