| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Как поменять размер шрифта у CEdit |
| Автор: Dreamer_0x01 4.12.2005, 14:44 |
| Мне нужно сделать достаточно крупный СEdit и в нем - крупные цифры. Пытаюсь использовать для этого SetFont - меняется только тип шрифта, но не его размер. Более того, если шрифт делать маленьким, то он выводится все равно такого же размера, но какой-то "обрезанный". Я конечно понимаю, что можно написать свой класс, в котором все нарисовать в графическом контексте устройства, но уж больно лениво извращаться. |
| Автор: Dray 4.12.2005, 15:26 | ||
Если использовать вместо CEdit'a CRichEdit то вот этот код работает:
Где m_RichEdit - переменная типа control для RichEdit'a. И еще чтобы использовать RichEdit нужно вызвать фуекцию AfxInitRichEdit перед показом окна с RichEdit'ом. |
| Автор: Dreamer_0x01 4.12.2005, 16:14 | ||
Такс, щас попробуем!
Само собой, эт знаем ;) |
| Автор: JoyEx 4.12.2005, 17:11 | ||
Detach() обязательно! |
| Автор: Guest 4.12.2005, 19:37 |
| Кромк того есть Microsoft form 2.0 editbox(ActiveX идет со студио стандартной комплектации) там он "очень похож" на edit box и там можна поставить и размер и цвет шрифта. |
| Автор: Dreamer_0x01 4.12.2005, 21:38 |
| Dray JoyEx по "плюсу", выручили! Добавлено @ 21:45 JoyEx Что делает Detach(), почему DeleteObject() не достаточно? |
| Автор: JoyEx 4.12.2005, 22:02 | ||
Там немного не так было. CFont'вский деструктор удаляет шрифт, а EDIT потом рисует текст системным фонтом и свой курсор забывает уменьшить. Detach() "отсоединяет" Windows'ский обьект от CFont'a |
| Автор: Earnest 4.12.2005, 22:33 | ||||
Тогда уж правильнее фонт хранить в своем классе - удалять-то его кто-то должен после использования? А то можешь получить утечку GDI-ресурсов. А вообще-то поменять фонт можно еще в обработчике сообщении WM_CTLCOLOR. Один из параметро - это hDC, вот ему и вставляется новый фонт. Правда, не совсем уверена, что именно для эдита это срабатывает. Тоже, фонт нужно создать и хранить, а потом уничтожить. А еще одна твоя тема про грязь - это оттуда же? Не после RichEdit пошла? Это я к тому, что, если это те же окошки, что в посте про грязь, то использование рич-эдита - это, прямо скажем, из пушки по воробьям. Круче разве что ActiveX туда подсунуть. |
| Автор: Dreamer_0x01 4.12.2005, 22:44 | ||
Да, это те же самые окошки,но вот как ни странно, RichEdit такой болезнью не страдает. |
| Автор: Earnest 4.12.2005, 22:50 | ||
Может, это ответ? |
| Автор: Dreamer_0x01 4.12.2005, 23:03 |
| скорее всего. |
| Автор: Finalist 14.6.2006, 13:00 |
| вопрос..... мне надо в эдите сменить шрифт текста который будет вводится далее, а тот что уже введен должен остаться неизменным.. ну вобщем как в любом редакторе... или например сменить шрифт только выделенного текста... а у меня получается поменять только весь текст... |
| Автор: Earnest 14.6.2006, 16:01 |
| Coocky, ну чего ты разбушевался? На любые пироги существует больше одного рецепта... Темка-то старая довольно. |
| Автор: Coocky 14.6.2006, 16:24 |
Дык пишу...пишу... Яж мзду не беру! Мне за державу обидно Добавлено @ 16:26 Да не глянул я на дату Старею |
| Автор: Finalist 14.6.2006, 23:57 | ||
ты хочешь сказать, что с CEdit у меня не получится? |
| Автор: Earnest 15.6.2006, 06:47 |
| У тебя уже не получилось, не правда ли? |
| Автор: Finalist 15.6.2006, 16:14 |
| да оно то правда... а вообще это реально? или ваще никак? |
| Автор: Dray 15.6.2006, 16:32 |
Ну дык понятно же |
| Автор: Earnest 15.6.2006, 18:08 |
Прочти еще раз, что написал Coocky и попробуй добиться частичного изменения шрифта в Notepad. Если получится, смело берись за Edit |
| Автор: Finalist 15.6.2006, 18:46 |
Разве что перегрузить OnPaint... |
| Автор: Dray 15.6.2006, 18:50 |
Ну конечно! Реализовать свою отрисовку гораздо проще чем использовать ричэдит! Особенно это оценит конечный пользователь. |
| Автор: Finalist 15.6.2006, 22:48 |
| да, дело совсем не в ричедите, мне нужно было узнать возможно ли это с CEdit.. нет так нет, я же не против... а про OnPaint, просто пошутил, но ведь, это возможно!! А мнения конечныХ пользователей о моем едите, меня пока не интересуют |
| Автор: Dreamer_0x01 21.6.2006, 13:33 |
| Да, это знамение. Я только решил вернуться на форум - и увидел поднятую свою декабрскую тему. Приятно ;) Сорри за офтоп, больше не буду. |