Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2007, 22:20   #1
frai
Пользователь
 
Регистрация: 11.04.2007
Сообщений: 36
По умолчанию OnMouseMove

Есть база. В ней куча кнопок. Решил вставить StatusBar и что бы при наведение на кнопки на статус панели соответствующая надпись появлялась. Это реализовал с помощью фун-ции OnMouseMovie.
А вот как сделать так чтобы при убирании курсора с кнопки надпись пропадала не знаю(((
P.S. Попробовал вставить Timer и прописать этот момент. Все получилось но думаю есть способы проще. Подскажите пожалуйста
frai вне форума Ответить с цитированием
Старый 13.10.2007, 22:55   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Вообще это можно сделать лучше, назначить всплывающую подсказку - Hint, чтобы он отображался в Статусбаре. Смотри в свойствах TApplication.
Но можно и так как ты начал делать, в OnMouseMove формы очищай статусбар.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 14.10.2007, 16:07   #3
frai
Пользователь
 
Регистрация: 11.04.2007
Сообщений: 36
По умолчанию

Пытася не получилось.
Опиши пожалуйста поподробнее. Еще раз повторюсь мне надо что бы пр наедении курсора подсказка на StatusBar появлялась а при убирании исчезала
frai вне форума Ответить с цитированием
Старый 14.10.2007, 19:23   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
мне надо что бы пр наедении курсора подсказка на StatusBar появлялась а при убирании исчезала
Для начала объявляем:
Код:
...
{$R *.dfm}

var OldStatusBar1WindowProc: TWndMethod;
...
Сразу после объявления прописываем процедуру:
Код:
procedure TForm1.StatusBar1WindowProc(var Msg: TMessage);
begin
case msg.Msg of
CM_MOUSELEAVE:
begin
//здесь - код для убирания надписи
end;
CM_MOUSEENTER:
begin
//здесь - код для вывода надписи
end;
end;
OldCloseWindowProc(Msg);
end;
И, наконец, в событии OnCreate формы:
Код:
OldStatusBar1WindowProc:=StatusBar1.WindowProc;
StatusBar1.WindowProc:=StatusBar1WindowProc;
StatusBar1.Perform(CM_MOUSELEAVE,0,0);
Не понял только одного - почему вопрос в разделе "Базы данных"???

Последний раз редактировалось mihali4; 14.10.2007 в 19:26.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц