Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.03 c
1-1120929749
tazik
2005-07-09 21:22
2005.07.25
частичное оформление в Вин ХП


8-1111615744
Citizen
2005-03-24 01:09
2005.07.25
Максимально быстро подготовить картинку для передачи по сети


1-1120476127
Priest
2005-07-04 15:22
2005.07.25
Запрет прорисовки TPanel


4-1117344959
NikNet
2005-05-29 09:35
2005.07.25
Как получить адресс строкий? Const MyStr:String = Hello! ;


1-1120828756
onics
2005-07-08 17:19
2005.07.25
Параметры ф-ции Excel.ActiveWorkbook.SaveAs