Цвет шрифта

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Fil
Сообщения: 41
Зарегистрирован: 30 авг 2006, 16:03

Цвет шрифта

Сообщение Fil » 18 июн 2007, 21:01

Привет!

Как можно изменить цвет шрифта в EditBox диалогового окна.
Работаю в Visual C++ 6.0.

С уважением, Fil!

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Re: Цвет шрифта

Сообщение WinMain » 18 июн 2007, 22:13

Для окна диалога вводится обработчик сообщения WM_CTLCOLOREDIT

Fil
Сообщения: 41
Зарегистрирован: 30 авг 2006, 16:03

Re: Цвет шрифта

Сообщение Fil » 19 июн 2007, 20:54

Благодарю WinMain.
Но, почему нельзя использовать, например:

COLORREF m_clrText;
...........
HBRUSH CKomEdit::CtlColor(CDC* pDC, UINT nCtlColor)
{
// TODO: Change any attributes of the DC here
m_clrText = RGB( 255, 0, 0 );
pDC->SetTextColor( m_clrText );
}

К тому же, кажется так, проще использовать разные цвета шрифта в одном EditBox. Скажем, вводим предложениее синего цвета, нажимаем Enter и вводим предложение красного цвета.

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Re: Цвет шрифта

Сообщение WinMain » 20 июн 2007, 05:22

Тогда лучше используй RICHEDIT вместо EDITBOX. Там и цвет текста можно менять, и шрифт, и задний фон.

Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Re: Цвет шрифта

Сообщение Romeo » 20 июн 2007, 12:48

Поддерживаю WinMain'а! Единственный минус RichEdit'а - это то, что придётся самому сделать для него контекстное меню. Но это не сложно, так как у этого контрола предусмотрены методы Copy, Paste и т.д., в которые нужно делигировать клики пунктов контекстного меню.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.

Fil
Сообщения: 41
Зарегистрирован: 30 авг 2006, 16:03

Re: Цвет шрифта

Сообщение Fil » 20 июн 2007, 18:45

С уважением отношусь к мнению столь сильных участников форума (без лести). Но почему-то приложение с RichEdit компилируется без ошибок, но не запускается. Удаляю RichEdit - запускается. Просто вставляю RichEdit, опять не запускается. Пока не разобрался ... что тут может быть?

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Re: Цвет шрифта

Сообщение WinMain » 21 июн 2007, 06:59

При запуске приложения должна подгружаться библиотека RichEd32.dll или RichEd20.dll
Для этого используй функцию LoadLibrary()

Если используешь платформу MFC, то функцию LoadLibrary лучше разместить в методе InitInstance() класса, который унаследован от CWinApp.
Приглашаю на свой сайт http://winmain.org

Ответить