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

Вниз

Как динамически изменять размер TabSheet?   Найти похожие ветки 

 
NAlexey ©   (2003-02-10 15:26) [0]

Я уже задавал этот вопрос, но решение так и не нашлось при всей кажущейся легкости задачи: Как динамически изменить размер КОНКРЕТНОГО Tab, повторю - не всех одновременно, а отдельного.
Дело в том, что возникла необходимость рисовать картинки на Tab ах, но не из ImageList, а из своего набора, отсюда вывод: OwnerDraw := true; и рисуем в событии OnDrawTab.
Так вот нарисовать текст и картинку это ладно, но не получается динамически изменять размер Tab если текст выходит за его размеры. Подскажите пожалуйста.


 
MBo ©   (2003-02-10 15:32) [1]

TCM_SETITEMSIZE?


 
NAlexey ©   (2003-02-10 15:43) [2]

Это изменяет размер всех Item ов PageControla.
Мне необходимо изменить размер конкретно Tab, как например происходит когда вбиваешь его Caption и он растягивается.


 
MBo ©   (2003-02-10 16:30) [3]

>Это изменяет размер всех Item ов PageControla.
Именно так устроен PageControl - он сам вычисляет размер Tab-а, исходя из ширины текста и наличия/размера картинки.
Что не дает внести свои картинки в imagelist?
Можно также добавлять пробелы к надписи, чтобы создать нужный пустой промежуток.


 
NAlexey ©   (2003-02-10 16:46) [4]

>Именно так устроен PageControl - он сам вычисляет размер Tab-а, исходя из ширины текста и наличия/размера картинки.
Т.е получается что ситуация безвыходная?

>Что не дает внести свои картинки в imagelist?
Картинки хранятся в ресурсе. Создавать ImageList динамически потом убивать его? А если картинок эдак 200-300?

>Можно также добавлять пробелы к надписи, чтобы создать нужный пустой промежуток.
Пробывал так, Tab.Caption := Concat(" ", Tab.Caption); Хорошо если 16x16, а если больше... соответственно и пробелов больше. Ну вот и нахожусь в поиске, вродебы весчь выглядит просто, а вот те на.



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
1-53028
Behemoth
2003-02-10 14:00
2003.02.17
Как сделать, чтобы вид курсора был неизменен?


1-53024
b-Ars
2003-02-06 12:28
2003.02.17
Передать объект в DLL


1-53006
ltexcimer
2003-02-10 13:55
2003.02.17
сколько строк в исходнике.


3-52794
Сергей
2003-01-31 16:44
2003.02.17
Ошибка DBD


1-53093
Nemas
2003-02-07 08:28
2003.02.17
Как выполнить процедуру?