Вниз
Скачать: CL | DM;

Как обойти отсутствие AutoSize у TCheckBox ?   Найти похожие ветки 

← →
Fay ©   (2005-07-06 18:44) [0]

Как задать ширину TCheckBox-а,  чтобы Caption точно влез, но не больше?


← →
GLFox ©   (2005-07-06 19:04) [1]

Canvas.TextWidth()


← →
Petr V. Abramov ©   (2005-07-06 19:06) [2]

В обработчике CM_TEXTCHANGED
через DrawText с параметром DT_CALCRECT вычислить ширину текста и установить ширину.
P.S. Сам не пробовал, но по идее должно получиться


← →
jack128 ©   (2005-07-06 19:15) [3]

хелп говорит, что нужно написать наследника и перекрыть в нем метод AdjustSize. Ну и опубликовать свойство AutoSize, конечно


← →
Petr V. Abramov ©   (2005-07-06 19:26) [4]

jack128 ©   (06.07.05 19:15) [3]
AdjustSize-то вызовется при изменении чего угодно, но не Caption`а, или я не прав?


← →
jack128 ©   (2005-07-07 14:40) [5]

Хм, да, ты прав. Я несколько удивлен..
Похорошу в CM_TEXTCHANGED не напрямую вычислять размеры чекбокса, а именно вызывать AdjustSize. А вот в нем и заниматься вычислениями.. Но я смотрю в реализаю TCustomLabel.AutoSize и вижу, что борланды что то тут перемудрили..


← →
AbrosimovA   (2005-07-07 15:23) [6]

За хелпом стоят те же смертные и грешные.


← →
Fay ©   (2005-07-07 15:58) [7]

Про DrawText я в курсе, но как вычислить размер всего остального (того же "квадратика")?


← →
jack128 ©   (2005-07-07 16:20) [8]

Fay ©   (07.07.05 15:58) [7]
размер всего остального (того же "квадратика")?

Делаешь скриншот, вставляешь в Paint и считаешь пиксели :-)  С темами XP наверно в сторону TThemeServices.ContentRect нужно покопать...



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

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



Память: 0.46 MB
Время: 0.024 c
1-1120737371
-ViLLaIN-
2005-07-07 15:56
2005.07.25
Программа и Диспечер задач


3-1118512468
Dirael
2005-06-11 21:54
2005.07.25
SQL в Delphi 7


14-1120441299
vidiv
2005-07-04 05:41
2005.07.25
Инсталлятор


4-1117315611
gdaujk
2005-05-29 01:26
2005.07.25
Создание CheckListBox средствами WinAPI.


3-1118652853
Lenik
2005-06-13 12:54
2005.07.25
Как изменить размер и тип поля в запросе




   Наверх