Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Как изменить цвет шрифта?


Автор: kometa_triatlon 27.3.2005, 15:02
Вывожу текст в окно:
Код

CFont font;
font.CreateFont(
        fontSize,                  // nHeight
        0,                         // nWidth
        escapement*10,                   // nEscapement
        0,                         // nOrientation
        FW_BOLD,                 // nWeight
        FALSE,                     // bItalic
        FALSE,                     // bUnderline
        0,                         // cStrikeOut
        ANSI_CHARSET,              // nCharSet
        OUT_DEFAULT_PRECIS,        // nOutPrecision
        CLIP_DEFAULT_PRECIS,       // nClipPrecision
        DEFAULT_QUALITY,           // nQuality
        DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
        "Courier New"               // lpszFacename
);                 
CPen pen(PS_SOLID, 1, RGB(0,0,0));
Invalidate();
CPaintDC dc(this);  
dc.SelectObject(&pen);
dc.SelectObject(&font);

dc.TextOut(startTextPoint.x, startTextPoint.y, text, strlen(text));
//font.DeleteObject(); 


Но есть еще и задание поменять цвет шрифта по выбору пользователя.
Есть переменная COLORREF m_nCurColor, ее значение можно изменять, выбрав цвет из палитры:
Код

void CMainFrame::OnColorSelect() {
    
    CColorDialog ColorDialog(m_nCurColor);        // создание стандартного диалога
    if (ColorDialog.DoModal() == IDOK)
        m_nCurColor = ColorDialog.GetColor();    // установка выбранного цвета    
}

Но как изменить цвет шрифта на выбранный???
Более того, я нигде не встретил такого аттрибута шрифта, как цвет.

Автор: Coocky 27.3.2005, 21:11
Цитата
Более того, я нигде не встретил такого аттрибута шрифта, как цвет.

А почему это должен быть аттрибут шрифта? smile
dc.SetTextColor(m_nCurColor);Цвет текста

dc.SetBkMode(TRANSPARENT); Точно параметр функции не помню,глянь в мсдн.Задает стиль фона прозрачный или нет.Так прозрачный

Автор: Guest 27.3.2005, 21:35
хм, я и не подумал...
Ну спасибо большое!

Автор: Coocky 27.3.2005, 21:38
Цитата
хм, я и не подумал...

Бывает... smile
Цитата
Ну спасибо большое!

Да нема за що.Заходи smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)