Как самому реализовать "Size to Content"
От: Mahtan  
Дата: 08.01.08 20:05
Оценка:
В редакторе диалогов в MSVC есть действие "Size to Content" оно изменяет размер контрола таким образом что бы он был минимальным вмещающим содержимое этого контрола.
Например, до этого действия: , после: .

Хотелось бы самому научиться делать что то аналогичное, средствами WinAPI.
Точнее узнавать т.н. минимальный размер контрола.
С тем как определить размер тектовой части проблем не возникает.
Вопрос в том как узнать размер т.н. обрамления.
В идеале было бы не плохо научиться это делать для произвольного контрола.
Ну или хотя бы для минимального набора стандартных: Button, RadioButton, CheckBox, EditBox etc.
Re: Как самому реализовать "Size to Content"
От: Аноним  
Дата: 08.01.08 21:54
Оценка:
GetThemeMargins. Это если охота поиметь геморрой. А если нет, на глазок подбери и не парься. Скорее всего ты не для миллионной аудитории софт пишешь.

PS: На всякий случай. BP_PUSHBUTTON, PBS_NORMAL, TMT_MARGINS
Re[2]: Как самому реализовать "Size to Content"
От: Mahtan  
Дата: 09.01.08 11:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>GetThemeMargins. Это если охота поиметь геморрой. А если нет, на глазок подбери и не парься. Скорее всего ты не для миллионной аудитории софт пишешь.

А>PS: На всякий случай. BP_PUSHBUTTON, PBS_NORMAL, TMT_MARGINS

Если в Висте выбрать схему Классическая Windows (или как то так), то OpenThemeData начинает возвращать NULL.
Да и функциональность эта появилась только в WinXP, а хотелось бы что бы для Win2k тоже работало.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.