![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как лучше сделать ? [D5, WinXP]
SemFLY © (2002-08-09 14:55:00)Задача такая...
У меня есть Label и мне надо в то время, когда курсор мыши находится на нём, чтобы Label светился белым, а когда не на нём светился серым. Прописать изменение цвета в событие OnMouseMove конечно можно, но тогда на прилегающих объектах к Label мне надо прописывать изменение цвета на серый.
Вопрос: Есть ли какой-нибудь другой способ решения этой задачи ?
Кроме события OnMouseMove.
Спасибо !
- - - - - - - - - - - - -
P.S. Если не трудно, то можно пример.
Opuhshii (2002-08-09 15:26:00) [1]это VCLные мессаджи,..
CM_BASE = $B000;
CM_MOUSEENTER = CM_BASE + 19;
CM_MOUSELEAVE = CM_BASE + 20;
Skier (2002-08-09 15:20:00) [2]>SemFLY
Всё так. см. Controls.pas
В частности :
procedure TControl.CMMouseEnter(var Message: TMessage);
begin
if FParent <> nil then
FParent.Perform(CM_MOUSEENTER, 0, Longint(Self));
end;
procedure TControl.CMMouseLeave(var Message: TMessage);
begin
if FParent <> nil then
FParent.Perform(CM_MOUSELEAVE, 0, Longint(Self));
end;
SemFLY (2002-08-09 15:16:00) [3]Skier, Я так понимаю, что это API-шные функции, глянул в Help"e Windows SDK (в делфийском Help"е тоже смотрел, а вдруг... ;)), там таких нет, поробовал изменить написание, тоже не нашел. Может они не так называются ?
Skier (2002-08-09 14:57:00) [4]>SemFLY
> Есть ли какой-нибудь другой способ решения этой задачи ?
>
Сообщения CM_MOUSELEAVE и CM_MOUSEENTER