Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как рассчитать "необходимый и достаточный" размер кнопки TButton


Германн ©   (2011-06-18 03:48:00) 

чтобы на ней уместился Caption?
WordWrap = True.

Кнопка располагается в рантайме на панели. Панель может быть расположена либо alBottom, либо alRight. Т.е. в обоих случаях есть ограничения и на ширину и на высоту.
P.S.
Высоту панели при alBottom  и ширину при alRight можно менять в рантайме сплиттером.


Anatoly Podgoretsky   (2011-06-21 14:56:00) [1]

Удалено модератором


MsGuns   (2011-06-21 13:39:00) [2]

Удалено модератором


QAZ   (2011-06-20 11:09:00) [3]

GetTextExtentPoint32


Германн   (2011-06-20 00:55:00) [4]


> Юрий Зотов ©   (20.06.11 00:39) [6]
>
> Кнопки, естественно.

А ну да. Handle то у нее есть. Спасибо.


Юрий Зотов   (2011-06-20 00:39:00) [5]

Кнопки, естественно. Ты же на кнопке текст выводить хочешь - вот ее DC и бери.


Германн   (2011-06-19 23:47:00) [6]


> Юрий Зотов ©   (19.06.11 10:16) [4]

А чей HDC ей подсунуть?


Юрий Зотов   (2011-06-19 10:16:00) [7]

DrawText с флагами DT_CALCRECT и DT_WORDBREAK спасет ОРД.


Германн   (2011-06-19 01:38:00) [8]


> Inovet ©   (18.06.11 07:37) [1]
>
> Посмотри

Спасибо, посмотрел наскоро. Может и то что надо. Но пока решил не заморачиваться этим вопросом, раз простого решения нет. Это всё-таки вопрос "вкусности" продукта, а мне сейчас важно "наличие" продукта в продаже.

> Andy BitOff ©   (18.06.11 12:14) [2]

Это и к вашему ответу относится. Спасибо за ответ.


Andy BitOff   (2011-06-18 12:14:00) [9]

Я [1] не читал, но сам бы воспользовался бы GDI+
GPFont := TGPFont.Create(FFontFamily, FFontSize, FFontStyle);
status := GPGraphics.MeasureString(Text, -1, GPFont, MakeRect(0, 0, MaxInt, MaxInt), FStringFormat.GenericDefault, outRect);


Inovet   (2011-06-18 07:37:00) [10]

Посмотри
http://msdn.microsoft.com/en-us/library/dd144860%28v=VS.85%29.aspx


Наверх

Титульная страница Поиск, карта сайта Написать письмо