Страница 1 из 1

Цвет шрифта

Добавлено: 18 июн 2007, 22:01
Fil
Привет!

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

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

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

Добавлено: 18 июн 2007, 23:13
WinMain
Для окна диалога вводится обработчик сообщения WM_CTLCOLOREDIT

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

Добавлено: 19 июн 2007, 21:54
Fil
Благодарю 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 и вводим предложение красного цвета.

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

Добавлено: 20 июн 2007, 06:22
WinMain
Тогда лучше используй RICHEDIT вместо EDITBOX. Там и цвет текста можно менять, и шрифт, и задний фон.

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

Добавлено: 20 июн 2007, 13:48
Romeo
Поддерживаю WinMain'а! Единственный минус RichEdit'а - это то, что придётся самому сделать для него контекстное меню. Но это не сложно, так как у этого контрола предусмотрены методы Copy, Paste и т.д., в которые нужно делигировать клики пунктов контекстного меню.

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

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

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

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

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