![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
fidres |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
ситуация: форма отрисовывается и на ней фокус переходит на какой-то компонент (к примету ComboBox).
так вот, хотелось бы, чтобы через 2 секунды всплывал хинт данного компонента... все примеры, найденные мной по хинтам - это всего-лишь отслеживание курсора и возникновения события при помещении кусрора в область компонента... а события по OnActive или OnShow - нигде не описаны... подскажите?
не прокатывает. почему - не знаю.. Это сообщение отредактировал(а) fidres - 8.12.2006, 10:44 --------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист. |
|||
|
||||
Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 2 Всего: 14 |
если я правильно понял тебе нужно наследовать события OnEnter и OnExit как у label, что то подобное этому
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
PROeXT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.12.2005 Где: Москва Репутация: нет Всего: нет |
А может стоит попробовать использовать таймер с 2х секундным интервалом? А на событии OnTimer определять "сфокусированный" контрол и отображать его хинт? Или я чего-то не понимаю?
![]() |
|||
|
||||
Elfebet |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 2 Всего: 14 |
а вообще все гораздо проще
чтобы задержать хинт на две секунды
Это сообщение отредактировал(а) Elfebet - 8.12.2006, 11:05 -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
||||
|
|||||
fidres |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
ещё раз.
задержка по таймеру - не критична (её вообще можно исключить). вопрос в другом. форма отрисовывается по событию OnActive. в это время фокус передаётся компоненту со свойством TabOrder = 1. IMHO не важно чего это за компонент. главное - у него есть свойство Hint и это свойство нужно отобразить НЕПОСРЕДСТВЕННО ПРИ ОТКРЫТИИ ФОРМЫ! при этом совершенно безразлично в каком месте экрана находится курсор мыши (курсор мыши не играет тут никакой роли! он мне не нужен, т.к. переход в компонен осуществляется по TabOrder'у!)... всё. то есть. необходимо отобразить хинт какого-то компонента НЕПОСРЕДСТВЕННО при открытии/активации формы... замечу, что форма не главная (не MainForm).
нифига... проверил. Application.ShowHint не влияет на сколько я понял... Это сообщение отредактировал(а) fidres - 8.12.2006, 14:52 --------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист. |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
fidres, есть класс THintWindow. С ним и играйся.
![]() -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
dimazu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
THintWindow - это правильно адназначна.
![]() Но можно и глобально попробовать сделать. Это пример просто, но идея понятна... ![]()
|
|||
|
||||
dimazu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
Там просто подменяется хинт апликации, не надо строить ректангл.
Ну раз не понятно, то может вот так будет понятней:
|
|||
|
||||
fidres |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
dimazu, поучительно. спасибо.
![]() З.Ы. ща пока что не до хинтов немного... сдача проги поджимает, поэтому все "красивости" оставляю на потом... ща больше волнуют другие задачки... --------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист. |
|||
|
||||
fidres |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
dimazu, чё-то не вкатывает. ацес виаланшин показывает...
ща ещё поиздеваюсь... З.Ы. тормозит на ShowHint при открытии формы... ![]() Это сообщение отредактировал(а) fidres - 14.9.2007, 06:18 --------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист. |
|||
|
||||
fidres |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
кстати. де-та был у меня примерчик с мультистринговыми хинтами....
нода поискать... там реализация должна быть самой подсказки!.. точно! --------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист. |
|||
|
||||
fidres |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
короче, не стал я башку ломать.
сделал проще. обычную панель киданул поверх остальных компонентов и при необходимости меняю визибл на тру и показываю подсказку. ![]() на панельке лежит прогресс_бар и лэбл. в лэбл выводим текст желаемого собщения, редактируем размер панели с учётом высоты и ширины лэбла и прогресс_бара. перемещаем панель в позицию, в которой находится компонент в фокусе. меняем видимость панели на тру. по таймеру или просто по sleep'у скрываем панель. никаких TWinControl'ов и прочей байды. простенько и со вкусом. можно менять как размер/цвет панели и всех компонентов, так и их форму отображения (рисуя их через полигоны). в принципе, тоже самое можно делать и с хинтом, но это всё намного сложнее. куча кода, написанного от руки и ещё не гарантирует, что этот код будет работать где-то на простенькой машине... а панель - она и в африке панель! ;) Добавлено через 1 минуту и 9 секунд кстати! забыл сказать, что натолкнуло меня на эту мысль реализациия таблички "подождите..." на нашем форуме!!! ![]() --------------------
Исправьте ошибку в слове <ХЕРОШО> и я скажу Вам оптимист Вы или пессимист. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |