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

Вниз

TTabControl   Найти похожие ветки 

 
Piter ©   (2004-04-17 20:00) [0]

В общем, меня все устраивает в этом компоненте, только хотелось бы реализовать одну штуку:
чтобы при наведении на конкретный Tab он подсвечивался каким-нибудь образом, делался объемным, как это реализовано в закладках mIRC. Как бы это сделать?


 
wisekaa ©   (2004-04-17 20:12) [1]

Use OnDrawTab to customize the painting of tabs.


 
Piter ©   (2004-04-17 23:20) [2]

wisekaa (17.04.04 20:12) [1]
Use OnDrawTab to customize the painting of tabs


Спасибо. Но возникла еще одна проблема, канва Control.Canvas чем-то перерисовывается, вероятно. Место, где можно рисовать, очень маленькое. Бувально там где текст и чуть чуть совсем около него.
Мне нужно реализовать подсветку при наведении на конкретный Tab, для этого я обрисовываю текст кнопки прямоугольником для создания эффекта, что кнопка как бы 3D. Но область, которую я могу обрисовать очень маленькая, буквально около текста. Если рисовать пошире, то линии просто не видно. Получается не особо здорово.
Чтобы было попонятнее, что я говорю - то вот картинка: http://www.piter007.newmail.ru/tabcontrol.gif


 
Piter ©   (2004-04-17 23:27) [3]

На картинке первый Tab в обычном состоянии.
Второй не выделен,но на него наведена мышка (курсор почему-то при PrintScreen не сохраняется)..
Третий Tab выделен.

Так вот, хотелось бы этот прямоугольник, который эмулирует 3D сделать пошире, ибо некрасивно смотрится. Хотя бы на один пиксель побольше во все стороны... а лучше на два...


 
Piter ©   (2004-04-18 12:44) [4]

И еще такой вопрос возник, когда в TabControl не хватает места для Tab"ов, появляется прокрутка, стрелочки. Неудобно на самом деле.
Хотелось бы реализовать чуть по другому, чтобы при неватке места остальные Tab"ы ужимались, то есть, текста на них отображалось меньше. В общем, также как реализована "Панель задач"


 
Gero ©   (2004-04-18 13:21) [5]


> Piter ©   (18.04.04 12:44)

В OnResize изменяй TabWidth.


 
Piter ©   (2004-04-18 16:34) [6]

Gero (18.04.04 13:21) [5]

Ок, спасибо.
Но тут еще одна проблема, если стиль стоит tsTabs, то все достаточно лекго рассчитыввается делением Width на Tabs.Count
А вот если стиль другой, то не подходит. TabWidth показывает только ширину кнопки, но между кнопками рисуется перегородка и место еще есть, так что невозможно рассчитать ширину TabWidth так, чтобы кнопки влезли в допустимую длину компонента TTabControl, чтоб не появилась полоса прокрутки


 
nikkie ©   (2004-04-18 17:15) [7]

if tabcount > 1 then
 shirina_peregorodki := tabrect[1].left - tabrect[0].right;


 
Gero ©   (2004-04-18 18:26) [8]

if tabcount > 1 then
shirina_peregorodki := tabrect[1].left - tabrect[0].right - 1;


 
Piter ©   (2004-04-18 20:02) [9]

nikkie (18.04.04 17:15) [7]

можешь считать меня олухом :)



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

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

Наверх




Память: 0.49 MB
Время: 0.031 c
7-1078049289
Lexer
2004-02-29 13:08
2004.05.02
Кто и сколко печатает на принтере?


1-1082109503
Андрей Сенченко
2004-04-16 13:58
2004.05.02
Ширина текста в пикслелах .


14-1081772853
Инкогнито
2004-04-12 16:27
2004.05.02
А вы верите в чудеса? :)


9-1068757966
DDS
2003-11-14 00:12
2004.05.02
Проблемма с полигонами, корявые получаются


14-1081801989
GanibalLector
2004-04-13 00:33
2004.05.02
Джеффри Рихтер "Windows для профессионалов"