Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.04;
Скачать: CL | DM;

Вниз

Можно ли создать своё окошко для подсказки (hint) и если да, то как?   Найти похожие ветки 

 
cdaDMITRIY ©   (2002-03-25 13:55) [7]

RE : The WORK ---> cdaDMITRIY .

http://delphi.vitpc.com/treasury/hintlistbox.htm


Автор Агранович Олег,
дата публикации 19 марта 2002г.

При движении по списку TListBox содержимое каждой строки показывается с помощью Hint-а. Код поддерживает обработку нескольких TListBox на форме.

{Вставляем в раздел public вашей формы:}

procedure ShowHint (var HintStr: string;
var CanShow: Boolean; var HintInfo: THintInfo);

{Вставляем где нибудь после implementation:}

procedure TForm1.ShowHint (var HintStr: string;
var CanShow: Boolean; var HintInfo: THintInfo);
var
ListRect,a: TRect;
begin
with HintInfo do
begin
{Здесь необходимо указать все ListBox на вашей форме, например в
этом случае это ListBox1 и ListBox2}
if (HintControl = ListBox1)or(HintControl = ListBox2) then
with HintControl as TListBox do
begin
if (ItemAtPos(CursorPos,true)<>-1)and
(Canvas.TextWidth(items.Strings[ItemAtPos(CursorPos,true)]) >
ItemRect(ItemAtPos(CursorPos,true)).Right-2)then
begin
HintStr := items.Strings[ItemAtPos(CursorPos,true)];
ListRect := ClientRect;
ListRect.Top := ListRect.Top + (ItemAtPos(CursorPos,true)-TopIndex)*ItemHeight;
ListRect.Bottom := ListRect.Top + ItemHeight;
CursorRect := ListRect;
GetWindowRect(Handle,a);
HintInfo.HintPos:=Point(ListRect.Left+a.Left+1,ListRect.Top+a.Top-1);
end;
end;
end;
end;

{В обработчике FormShow формы прописываем:}
Application.OnShowHint := ShowHint;
Application.HintHidePause:=5000; //Время которое будет держаться Hint.
Application.HintPause:=300; //Время перед появлением Hint"а.

{В обработчике FormHide формы прописываем:}
Application.HintHidePause:=2500;
Application.HintPause:=500;

Во всех ListBox"ах устанавливаем свойсто ShowHint в True
Агранович Олег





Страницы: 1 вся ветка

Текущий архив: 2002.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-9483
КОляныч_
2002-03-25 19:25
2002.04.04
HELP!!! Работа с текстом! Поиск множества совпадений!


1-9455
@andrew
2002-03-25 12:52
2002.04.04
ПРИВЕТ ВСЕМ! Где Взять 2-й Pack для Пятерки


7-9660
Davile
2002-01-04 17:19
2002.04.04
Как загрузить курсор не из *.res


1-9509
VID
2002-03-23 01:43
2002.04.04
Ресурс повреждён


3-9383
Sregnic
2002-03-12 12:43
2002.04.04
Странность при соединении таблиц.