
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.05.2005, 22:11
|
|||
|---|---|---|---|
|
|||
поменять шрифт у контрола с помощью MFC |
|||
|
#18+
Доброго времени суток Есть форма на которой есть пара комбобоксов. В них надо динамически поменять щрифт. Проблема в том что когда я создаю свой шрифт и говорю myComboBox->SetFont(&myFont) то реально меняется только размер комбобокса а шрифт остается без изменений. То есть если я указываю например Wingding 6 то вместо маленьких дурацких символов :) в маленьком комбобоксе получаю маленькой высоты комбобокс со шрифтом нормального размера вроде как Ариалом, причем строки не влазят по высоте в контрол и обрезаны снизу. код выглялит так Код: plaintext 1. 2. 3. Кто-нибудь знает как все-таки установить фонт по-человечески ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.05.2005, 05:44
|
|||
|---|---|---|---|
поменять шрифт у контрола с помощью MFC |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. Предлагаю (но не факт) посмотреть еще GetTextExtent, а еще лучше поменять размер всего Dialog-а. --- С уважением, Dubrov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.05.2005, 10:01
|
|||
|---|---|---|---|
поменять шрифт у контрола с помощью MFC |
|||
|
#18+
VicelПроблема в том что когда я создаю свой шрифт и говорю myComboBox->SetFont(&myFont) то реально меняется только размер комбобокса а шрифт остается без изменений. Странно, должно быть ровно наоборот - поменяться шрифт и не поменяться размеры. Но в случае комбика размеры, а точнее высота, действительно должны поменяться (см. далее). Значит ты что-то делаешь не так как надо. Код: plaintext 1. 2. 3. 4. Dubrov > А где изменение размеров control-а под размер шрифта? А нет его и не должно быть. Дело в том, что виндовый контрол COMBOBOX по сути не имеет высоты - его высота используется для указания высоты выпадающей части комбика (лист бокса), а в свернутом состоянии комбик определяет свою высоту динамически на основании размера шрифта, которым он работает. Т.е. если поставить другой размер шрифта будет и другая высота комбика. А вот с другими контролами Win32 этот фокус не пройдет - они свои размеры менять не будут, поэтому придется при установке шрифта еще и перевычислять размеры всех контролов и переразмещать их на диалоге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.05.2005, 21:20
|
|||
|---|---|---|---|
|
|||
поменять шрифт у контрола с помощью MFC |
|||
|
#18+
я с этого начинал :) но поскольку все равно не работало то полез дальше. менять размер шрифта у меня таки получилось если Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. но проблема все равно осталась - если я еще меняю название шрифта strcpy(lf.lfFaceName, "Arial"); то шрифт в контроле как был так и остался тем же, изменился тока размер хотя это передрано из msdn :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2033348]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 315ms |

| 0 / 0 |
