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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
14-1081333732
kombat
2004-04-07 14:28
2004.05.02
Какие сторонние компоненты (наборы) вы используете в работе?


1-1082046811
white dove
2004-04-15 20:33
2004.05.02
Подключение к AutoCAD по OLEAutomation


3-1080727303
Goida
2004-03-31 14:01
2004.05.02
Проблемы с ADO...


3-1081336264
Guest1z
2004-04-07 15:11
2004.05.02
Access Клиент-Сервер запросы из клиента на сервер


1-1081933960
LameFox
2004-04-14 13:12
2004.05.02
Не пашет Image1.Picture.LoadFromFile(...);





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский