Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Вниз

Куда пропало свойство Hint?   Найти похожие ветки 

 
Rusya   (2006-03-22 05:00) [0]

Не могу понять, почему нельзя присвоить программно свойство hint? У любого компонента есть свойство Hint в Object Ins. и его можно менять, но почему-то на программном уровне (например ListBox1.Hint:="Hello") нельзя! Компилятор ругается (Undecleared Identifier : "Hint")... Говорит, что нет такого в помине! И это, у любого компонента! С чем это может быть связано?


 
ElDev   (2006-03-22 12:57) [1]

1 У тебя должен быть модуль KOLMHToolTip
2 Добавь директиву компилятору USE_MHTOOLTIP


 
BaryVetaL ©   (2006-03-23 10:01) [2]

Для KOL (не для MCK хотя в принципе и здесь использовать можно) лучше использовать модуль из библиотеки LENIN INC (http://www.lenininc.com) модуль называется Lenin_UsualHint.pas, работа с Hintaми здесь очень простая и прекрасно подходит для KOL. Почему я говорю о ней если есть много уже готовых компонентов для работы с Hints в KOL (mdvToolTip, HintRA, ...) Потому, что некоторые из них не универсальные. Пример: в HintRA все здорово, но нужно для хинтса свойство property KOLControl:PControl, а если объект другого типа например дочерний, как быть? Извратиться конечно можно, но в Lenin_UsualHint.pas:


CreateTooltipWindow(form1.Handle); // Вызывается один раз
...
TooltipAddTool(ParentHandle, ControlHandle1, "Текст");
TooltipAddTool(ParentHandle, ControlHandle2, "Текст");


где ParentHandle - Handle родителя, ControlHandle - Handle контрола, где нужен Hint, ну текст понятно, что это сам Hint :)

Конечно, надо бы причесать этот модуль (создать объект ... ). Но для обычного Hintа подходит как нельзя кстати.
Я не хочу обидеть авторов ToolTips которые я перечислил, но лично для меня было удобней использывать именно этот метод, а там кто его знает... Может я прочто чего нибудь недопонимаю...


 
BaryVetaL ©   (2006-03-23 10:43) [3]

Да, кстати, там же есть модуль Lenin_BaloonHint.pas, все почти также, только красивые хинты в стиле XP.


 
Rusya   (2006-03-24 17:32) [4]

Спасибо... Разобрался...
Ещё один вопросик. Как сделать принудительный перенос строки в Hinte? #13 - не помогает!


 
Vladimir Kladov   (2006-03-24 18:29) [5]

#13#10 иногда помогает (под XP?). Под 95 и NT4 переноситься само все равно (наверное) не будет, только собственная отрисовка.


 
Rusya   (2006-03-24 18:44) [6]

#13#10 - к сожалению не помогает... (KOLMHToolTip). Может будут ещё какие-нибудь идеи? В VCL помогал обычный #13...


 
Vladimir Kladov   (2006-03-24 20:47) [7]

В VCL для хинта образован класс, и в нем своя отрисовка содержимого. Еще помнится, чтобы ее изменить, достаточно сделать своего наследника, и переопределить в нем метод рисования. KOL - это враппер к API. Само API рисовать не больно-то умеет многострочные хинты. В моих программах хинтов нет, кроме как в тулбаре - коротких и в одну строку. Еще в listview делал, но это все tooltip"s а не hint"s.


 
mdw ©   (2006-03-27 12:51) [8]

Что бы работали #13#10, нужно задать MaxWidth для хинта отличным от -1.
SendMessage(Handle, TTM_SETMAXTIPWIDTH, 0, Value);

Если задать большим, то работать будет как при -1, но переносить по #13#10. Если ширина меньше текста то, перенос будет еще и по словам.

Читаем MSDN для TTM_SETMAXTIPWIDTH:

The maximum ToolTip width value does not indicate a ToolTip window"s actual width. Rather, if a ToolTip string exceeds the maximum width, the control breaks the text into multiple lines, using spaces to determine line breaks. If the text cannot be segmented into multiple lines, it will be displayed on a single line. The length of this line may exceed the maximum ToolTip width.



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

Форум: "KOL";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.074 c
3-1161759493
Kolan
2006-10-25 10:58
2007.01.14
Как скопировать БД.


15-1166690617
Vovan #2
2006-12-21 11:43
2007.01.14
Дом-страница без глума про психопатство


15-1166640174
cando
2006-12-20 21:42
2007.01.14
Midi files


15-1166528745
vidiv
2006-12-19 14:45
2007.01.14
Можно ли научить винду не использовать своп...


2-1166823482
vain
2006-12-23 00:38
2007.01.14
Антиалиасинг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский