|
#1
|
|||
|
|||
Срочно помогите
У меня возникла проблема!!!
Помогите пожалуйста ее решить!!! Заранее огромное спасибо!!! Проблема моя состоит в том что я хочу сделать нечто вроде своего хинта(вывода подсказки). Для вывода подсказки я хочу использовать panels а на ней будут два label в которых будет выводится подсказка. как мне сделать так чтобы panels появлялась в тех же местах где и hint. При этом отслеживать месторасположение hint и выводить там panels вместо hint. То есть при подведение мыши к кнопке заместо стандартного hint у нас появлялась panel созданная мноюб ранее и вела себя так же как и hint. Заранее огромное спасибо. Помогите как можно скорее. Еще раз заранее очень сильно благодарен. |
#2
|
|||
|
|||
---Если все именно так как ты сказал, то на мой взгляд проще будет нарисовать квадрат на экране, туда же вывести текст.
Код:
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 со скрином уже готового Хинта, и поверх ложешь надпись. Теоритечески это можно выводить на экран, но так на мой взгляяд куда проще... П.с. как сам хинт вывести не знаю, но судя по... Цитата:
Удачи! Я ни в чем никогда не уверен... И в этом тоже... |
#3
|
||||
|
||||
Зачем тебе гемор с динамическим созданием панелей или с написанием своего "габаритного" компонента, обычных хинтов хватит, да и в трее всплывающими балонами сделать можно, нагляднее, да и загромождать окно программы не будет, можно в статус баре хинты показывать (текст-подсказку), и вообще на эту тему в Инете много готовых хороших решений, в смысле компонентов, да и просто огрызков кода
|
#4
|
||||
|
||||
> Получилось вполне приличное вплытие!
Как то парился с этой темой и сделал "виндонезависимое" плавное всплытие и исчезновение форм, все получилось супер, но потом узнал что есть готовая виндовая функция для этих целей, которая еще может делать кучу всего и создал на ее основе классную анимашку для формы с различными эффектами, все оказалось очень просто, но вот под старые винды зато это не пойдет. |
#5
|
|||
|
|||
Предлагаю компонент хинта. Я скачивал его с этого сайта, но немного доработал и добавил дополнительные настройки, может тебе подойдет. Или же может сам добавишь дополнительные опции свои, которые тебе нужны, но тебе для етого придется немного попотеть, переделывая компонент.
|