Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
14-53222
malkolinge
2003-01-31 14:40
2003.02.17
Ученье Свет а неученье тьма !


7-53312
SZap
2002-12-13 14:29
2003.02.17
Серийный номер HDD


1-52863
Blondin
2003-02-07 17:58
2003.02.17
Сравнение двух файлов


1-53058
neXt2
2003-02-06 10:01
2003.02.17
Как в TreeView очистить все ветки?


7-53288
Niflhelmr
2002-12-15 18:16
2003.02.17
Регистры в дельфи




   Наверх