Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.01.2009, 19:31
mskvkin mskvkin вне форума
Новичок
 
Регистрация: 31.08.2008
Сообщения: 99
Репутация: 10
По умолчанию Срочно помогите

У меня возникла проблема!!!
Помогите пожалуйста ее решить!!!
Заранее огромное спасибо!!!

Проблема моя состоит в том что я хочу сделать нечто вроде своего хинта(вывода подсказки). Для вывода подсказки я хочу использовать panels а на ней будут два label в которых будет выводится подсказка. как мне сделать так чтобы panels появлялась в тех же местах где и hint.
При этом отслеживать месторасположение hint и выводить там panels вместо hint.

То есть при подведение мыши к кнопке заместо стандартного hint у нас появлялась panel созданная мноюб ранее и вела себя так же как и hint.

Заранее огромное спасибо. Помогите как можно скорее. Еще раз заранее очень сильно благодарен.
Ответить с цитированием
  #2  
Старый 14.01.2009, 07:57
Interface Interface вне форума
Активный
 
Регистрация: 23.05.2008
Адрес: Россия, Уфа
Сообщения: 203
Репутация: 1
Подмигивание

---Если все именно так как ты сказал, то на мой взгляд проще будет нарисовать квадрат на экране, туда же вывести текст.
Код:
var
ScreenDC: hDC;
mp : TPoint;
...
GetCursorPos(mp);
ScreenDC := GetDC(0);
Rectangle(ScreenDc,mp.X,mp.Y,mp.X+200,mp.Y + 30);
TextOut(ScreenDC,Mp.X + 3, mp.Y+3,'Label1',6);
TextOut(ScreenDC,mp.X+103,mp.Y + 3, 'Label2', 6);
ReleaseDC(0,ScreenDC);
Но к сожелению это усложняет создание всяких эффектов (всплытие, исчезновение и т.д.)
---Есть второй способ:
Вы водить вместо Хинта форму! Пойму способ самый лучший! Во-первых он проще, во-вторых на нем доступны почти все визуальные эфекты! Можно даже у формы границу оставить, задав ей значение bsToolWindow (Form1.BorderSyle := bsToolWindow). Кидаешь на форму таймер. По ее созданию ставишь альфу(AlphaBlendValue) на 0, а потом по таймеру прибовляешь по 10-15. Получилось вполне приличное вплытие! Можешь кончено и убрать границы формы тогда будет копия твоей панельки.
---А если хочешь что б никто не заметил подмены:
Выводишь опять же форму, обрезаешь ей углы (регионы или прозрачный вет), вставляшь туда Image со скрином уже готового Хинта, и поверх ложешь надпись. Теоритечески это можно выводить на экран, но так на мой взгляяд куда проще...
П.с. как сам хинт вывести не знаю, но судя по...
Цитата:
...заместо стандартного hint у нас появлялась panel созданная мноюб ранее...
тебе оно и не надо!
Удачи!
__________________
Я ни в чем никогда не уверен... И в этом тоже...
Ответить с цитированием
  #3  
Старый 14.01.2009, 08:43
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка

Зачем тебе гемор с динамическим созданием панелей или с написанием своего "габаритного" компонента, обычных хинтов хватит, да и в трее всплывающими балонами сделать можно, нагляднее, да и загромождать окно программы не будет, можно в статус баре хинты показывать (текст-подсказку), и вообще на эту тему в Инете много готовых хороших решений, в смысле компонентов, да и просто огрызков кода
Ответить с цитированием
  #4  
Старый 14.01.2009, 08:47
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка

> Получилось вполне приличное вплытие!

Как то парился с этой темой и сделал "виндонезависимое" плавное всплытие и исчезновение форм, все получилось супер, но потом узнал что есть готовая виндовая функция для этих целей, которая еще может делать кучу всего и создал на ее основе классную анимашку для формы с различными эффектами, все оказалось очень просто, но вот под старые винды зато это не пойдет.
Ответить с цитированием
  #5  
Старый 14.01.2009, 11:48
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Предлагаю компонент хинта. Я скачивал его с этого сайта, но немного доработал и добавил дополнительные настройки, может тебе подойдет. Или же может сам добавишь дополнительные опции свои, которые тебе нужны, но тебе для етого придется немного попотеть, переделывая компонент.
Вложения
Тип файла: rar Hint_Vista.rar (12.8 Кбайт, 3 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter