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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2008, 16:04   #1
CrazyProgramer
Заблокирован
Пользователь
 
Регистрация: 14.07.2008
Сообщений: 23
Вопрос Подсказки кнопок на панели

Как сделать нечто панели на главной форме, что-бы на неё выводились
хинты контролов, над которыми сейчас курсор? Примерно есть главная форма, на ней Statusbar и когда я перемешаю курсор мыши (по пунктам меня, кнопкам и т.д...) что-бы на неё выводились ихнии подсказки
CrazyProgramer вне форума Ответить с цитированием
Старый 31.07.2008, 16:32   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Можно с помощью компонента ApplicationEvents со страницы Additional
в событии OnHint этого компонента пишем
Код:
procedure TForm1.ApplicationEvents1Hint(Sender: TObject);
begin
form1.StatusBar1.SimpleText:=application.Hint;
end;
SERG1980 вне форума Ответить с цитированием
Старый 31.07.2008, 16:41   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
CrazyProgramer
Ну так в обработчиках наведения мышей на контролы прописывай их хинт в caption панели или ячеек статусБара
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.07.2008, 16:51   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Код:
private
   procedure MyHint(Sender: TObject);
 end;

    implementation

  {....}

 procedure TForm1.FormCreate(Sender: TObject);
 begin
   Application.OnHint := MyHint;
   ShowHint := True;
 end;

 procedure TForm1.MyHint(Sender: TObject);
 begin
   StatusBar1.SimpleText := Application.Hint;
 end;
------------------------------------------
Alter вне форума Ответить с цитированием
Старый 31.07.2008, 16:57   #5
Банзай
Пользователь
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
По умолчанию

у Application есть событие OnHint, от него можно стартовать.


а (sender as TControl).Hint и application.hint здесь - одно и тоже?
подписываюсь

Последний раз редактировалось Банзай; 31.07.2008 в 17:03.
Банзай вне форума Ответить с цитированием
Старый 31.07.2008, 17:41   #6
CrazyProgramer
Заблокирован
Пользователь
 
Регистрация: 14.07.2008
Сообщений: 23
По умолчанию

Zа "OnHint" всем спасибо, незнал.
Oб обработчиках наведения мышей на контролы, скажу что до такого могбы и сам додуматься =)))))) но это даже не вариант в этом случае, например у меню итем я невижу что то связанно с событием мыши, да и громоздко это получилось бы.
Насчет OnHint еще, способ тоже помойму не пригодный, т.к если мне надо будет брать, допустим, текст из свойства Caption, а не хинт, плюс при этом еще сравнивать таги на пример! Такчто вопрос в силе уважаемые.
CrazyProgramer вне форума Ответить с цитированием
Старый 31.07.2008, 18:10   #7
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

получить хэндл контрола из под курсора, немного пооколдовать над его rect...

зы но не думаю что это ХОРОШИЙ вариант, я бы хук замутил и разжился как угодно, выводя что угодно и куда удобно

Последний раз редактировалось Ring0Sn; 31.07.2008 в 18:19.
Ring0Sn вне форума Ответить с цитированием
Старый 31.07.2008, 18:38   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Цитата:
Сообщение от Банзай Посмотреть сообщение
у Application есть событие OnHint, от него можно стартовать.


а (Sender as TControl).Hint и application.hint здесь - одно и тоже?
(Sender as TControl).Hint <= это Application, если лежит в MyHint;

Цитата:
Насчет OnHint еще, способ тоже помойму не пригодный, т.к если мне надо будет брать, допустим, текст из свойства Caption,
а не хинт, плюс при этом еще сравнивать таги на пример! Такчто вопрос в силе уважаемые.
Это уже другой вопрос, новая тема. А про Подсказки вам объяснили.
Alter вне форума Ответить с цитированием
Старый 31.07.2008, 19:10   #9
CrazyProgramer
Заблокирован
Пользователь
 
Регистрация: 14.07.2008
Сообщений: 23
По умолчанию

Цитата:
Это уже другой вопрос, новая тема. А про Подсказки вам объяснили.
Я так не считаю, тема в "общем виде" имеет смылс , а не только отдельно хинт! Если я создам тему как вывести хинт и caption контрола на панель и посчитает её чем то координальным отличающейся от этой, может первым кинуть в меня камнем!
CrazyProgramer вне форума Ответить с цитированием
Старый 07.08.2008, 19:29   #10
Банзай
Пользователь
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
По умолчанию

можно попробовать такой вариант: события контролов занести в компоненту ActionList как события onExecute объектов Action, у них есть также событие OnHint что вызывается когда курсор остановился над контролом за которым этот Action закреплён. правда похоже на то что в этом случае придется для каждого контрола отдельный онхинт писать, так как в этот онхинт сендер не передается...

да и ещё, на счет аппликатион.онхинт, здесь для удобства другая компонента есть - ApplicationEvents содержащая все события Application

з.ы. бгы, забавно у этого компонента событие есть onShowHint в неё передается переменная HintInfo:THintInfo с полем HintControl - это случайно не то что нужно?
подписываюсь

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплывающие подсказки Pinya Общие вопросы Delphi 7 22.07.2008 14:37
Подсказки Demien Общие вопросы Delphi 5 15.11.2007 16:51
Появление подсказки Римма Общие вопросы Delphi 6 20.08.2007 12:22
Подсказки Windows celovec Общие вопросы Delphi 1 01.07.2007 07:29
Cоздание многостроковой подсказки bill Помощь студентам 1 26.04.2007 21:19