![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TTabSet - Hint
Cobalt © (2012-01-16 18:00:00)Столкнулся с такой проблемой:
Имеется унаследованное приложение, использует для вкладок TTabSet
Хочу организовать показ Hint'а.
Прописал значение, включил ShowHint := True
Проблема в том, что Хинт не показывается при наведении на контрол.
ЧЯДНТ, и где править.
Достаточно для хотелки пока одного хинта на весь контрол.
Rouse_ (2012-01-18 14:46:00) [1]Потому-что у TTabSet хинт используется для другого, аименно для отображения полного текста закладок с обрезанным тестом, что собственно и можно увидеть посмотрев на код procedure TTabSet.CMHintShow(var Message: TCMHintShow); (там даже каменты под это дело не поленились вставить).
Оть тебе пример.
procedure TForm1.FormCreate(Sender: TObject);
begin
ts1.Tabs.Clear;
ts1.Tabs.Add('qwerty1ds fsdf sdf sdf sdf sdf sdf sdf sdf ds');
ts1.Tabs.Add('qwerty1ds fsdf sdf sdf sdf sdf sdf sdf sdf ds');
ts1.Tabs.Add('qwerty1ds fsdf sdf sdf sdf sdf sdf sdf sdf ds');
ts1.Hint := '11112';
ts1.ShrinkToFit := True;
ts1.ShowHint := True;
end;
Cobalt (2012-01-18 14:24:00) [2]Мне - надо, потому что я не хочу вкладки шириной хотя бы в половину ширины компонента, и самостоятельно обрезаю её название.
Значит, придется писать новый компонент, с тем поведением, который хочу.
Спасибо Dimka Maslov ©.
Dimka Maslov (2012-01-17 19:16:00) [3]В общем так: CMHintShow сознательно не даёт выдавать Hint, ибо он рисуется только если текст закладки ширее нежели её ширина и соответсвует заголовку закладки. Можно, конечно, запудзырить свой класс с другой логикой вывода. Но оно надо?
Dimka Maslov (2012-01-17 19:07:00) [4]Скачал. Запустил. Посмотрел. TTabSet действительно забивает на Hint. Чтобы дальге разобраться надо копать в procedure TTabSet.CMHintShow(var Message: TCMHintShow); чё у них там делается одной эмбаркадере известно
sniknik (2012-01-17 17:39:00) [5]> Дельфи 2010
D7 поэтому не могу проверить... но пара вопросов
1 зачем панель? и что если без нее
2 зачем ParentShowHint фалсе? и что если положить "чистый" компонент без твоих пере настроек, только хинт прописать.
компонент с вкладки 3.1... может прекратили поддерживать? а там где нибудь юникодность мешает...
метод Application.OnHint назначь, проверь что туда приходит, и вообще приходит ли.
Cobalt (2012-01-17 16:49:00) [6]Да, черт побери, совсем забыл - Дельфи 2010.
Тестовое приложение: http://webfile.ru/5773528
brother (2012-01-17 06:22:00) [7]Что Я Делаю Не Так...
sniknik (2012-01-16 19:41:00) [8]> Проблема в том, что Хинт не показывается при наведении на контрол.
> ЧЯДНТ, и где править.
показывается!
ЧЯДНТ?