Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизHint ы Найти похожие ветки
← →
Eug201 © (2003-08-09 00:13) [0]Подскажите, как сделать чтоб отображались хинты. Нужен какой-то модуль/компонент? На форме свойство ShowHint в True не встает.
← →
Dimaxx © (2003-08-09 00:21) [1]Самый простой способ без компонентов:
1) Задаем переменныеvar
HintWND: HWND;
TI: TToolInfo;
Tips: array[0..3] of PChar = (
"Hint1",
"Hint2",
"Hint3",
"Hint4");
2) В свойство TAG компонентов, у которых нужен хинт вписываем порядковые номера (им соответствуют номера в массиве Tips)
3) При создании формы пишем:HintWnd:=CreateWindowEx(0,TOOLTIPS_CLASS,nil,0,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,Applet.GetWindowHandle,0,HInstance,nil);
4) На OnMouseMove компонента вешаем:with TI do
begin
cbSize:=sizeof(TI);
uFlags:=TTF_SUBCLASS;
hWnd:=Sender.GetWindowHandle;
uID:=0;
Rect.Left:=Sender.ClientRect.Left;
Rect.Top:=Sender.ClientRect.Top;
Rect.Right:=Sender.ClientRect.Right;
Rect.Bottom:=Sender.ClientRect.Bottom;
hInst:=HInstance;
lpszText:=Tips[Sender.Tag];
end;
SendMessage(HintWnd,TTM_ADDTOOL,0,DWORD(@TI));
5) На событие формы OnDestroy льем:DestroyWindow(HintWnd);
Все! Компилим, запускаем и пользуемся!
← →
Dimaxx © (2003-08-09 00:24) [2]Да, забыл!
1) Массив делаем размером по количеству контролов с хинтами.
2) На событие OnMouseMove записать код один раз и повестить его на все контролы сразу.
← →
SPeller © (2003-08-09 08:16) [3]Есть компонент MHToolTip, на этом сайте лежит.
← →
Eug201 © (2003-08-09 16:19) [4]Насчет компонента пока разбираюсь - проблема с установкой (Delphi7).
А вот насчет кода от Dimaxx. Все работает, thanks!! Но, не работает TKOLComboBox. Точнее хинт появляется только тогда, когда мышь над стрелочкой выбора, а когда над полем ввода - тишина :( В чем может быть причина? Delphi 7/XP. И еще, я сколько не читал MSDN - какой-то он с Delphi дет куцый - не смог представить картины в целом. Меня просто интересует метод Add. Проблема в том: если мышью под]ехать к компоненnу и подождать, хинт висит, прячется, и снова появляется несколько раз. Видимо столько, сколько раз отработало сообщение TTM_ADDTOOL. Это ведь немножко неправильно?
← →
Dimaxx © (2003-08-10 00:03) [5]У меня дельфи 5 + ХР и в любом месте комбика хинт нормально отображается. И не отображается несколько раз, а только один. Для того, чтобы он снова появился, нужно убрать мышь с компонента, а потом снова вернуть. Тогда появится.
← →
Dimaxx © (2003-08-10 00:07) [6]2 Eug201: Попробуй еще вместо HInstance поставить ноль.
← →
Eug201 © (2003-08-10 08:48) [7]Помогите, please, с MHToolTip. Не могу скомпилировать. Требует MCKMHToolTip.pas (в архиве нет). А насчет KOLMHToolTip.pas говорит "Unit expected, but end of file found". Может архив поврежден? Хотя распаковался без ошибок.
← →
JanvVlad (2003-08-10 19:17) [8]Аналогичная проблема с MHToolTip под Delphi 6.
Кстати, никто не знает, как переместить Tooltip, ну, скажем, в верхний левый угол и показать его?
← →
SPeller © (2003-08-11 08:22) [9]Создавай тултип вручную через апи и делай с ним всё что захочешь.
← →
Gandalf © (2003-08-23 15:25) [10]Для того что MHToolTip заработали надо (Надо хоть комментарии в Demo читать):
1) Добавлять KOLMHToolTip нельзя, поскольку используется пристыковка
модуля KOLMHToolTip (потому модуль выглядит так странно, местами просто несвязанные куски кода)
в текст модуля KOL.pas посредством прямого
включения {$I} и условной компиляцией. Потому необходимо указать в опциях проекта, в
кондикцияхConditionals=KOL_MCK;USE_MHTOOLTIP замечу, что в Деме это уже сделано.
2) Далее необходимо, чтобы код прикомпилировался, для этого надо Rebuild All Projects, а потом
Recompile All Projects. Все теперь у нас "новый" KOL с поддержкой Hint"ов.
3) Далее можно работать как прежде и наслаждаться Hint"ами.
Если всеже не пашет.
Попробуй сам KOL.pas открыть и
вставить в начало {$DEFINE USE_MHTOOLTIP}, потом сохрани, закрой, и
перекомпилируй (например пересобрав MCK из пакета), железный метод, но
не очень изящный (надо KOL.pas править)!
Не забываем пути прописывать.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c