YjingA 发表于 2016-6-28 22:33:56

给MFC的edit中的文字改颜色

本帖最后由 YjingA 于 2016-6-30 14:35 编辑

想给MFC的edit中的文字改颜色
但是运行没改变
求求大神,怎么改{:5_100:}

/********************************************************************************************
[名称] OnBnClickedColorButton
[功能] 颜色选择按钮响应函数
[参数] void
[返回值] void
********************************************************************************************/
void CNoteDlg::OnBnClickedColorButton()
{
        COLORREF color = RGB(255, 0, 0);      // 颜色对话框的初始颜色为红色
    CColorDialog colorDlg(color);         // 构造颜色对话框,传入初始颜色值   

    if ( IDOK == colorDlg.DoModal() )   // 显示颜色对话框,并判断是否点击了“确定”   
    {   
      color = colorDlg.GetColor();      // 获取颜色对话框中选择的颜色值   
      SetDlgItemInt( IDC_COLOR_EDIT, color );         // 在Color编辑框中显示所选颜色值   
      SetDlgItemInt( IDC_R_EDIT, GetRValue(color) );// 在R编辑框中显示所选颜色的R分量值   
      SetDlgItemInt( IDC_G_EDIT, GetGValue(color) );// 在G编辑框中显示所选颜色的G分量值   
      SetDlgItemInt( IDC_B_EDIT, GetBValue(color) );// 在B编辑框中显示所选颜色的B分量值
               
                // 前面都没问题,但这行代码没反应
                // 改变edit文字的颜色
                this->GetDlgItem( IDC_EDIT )->GetDC()->SetTextColor( color );
        }

}

无符号整形 发表于 2016-6-28 22:33:57

用SDK的
ChooseFont然后选入输入框肯定行的

ryxcaixia 发表于 2016-6-29 08:56:40

GetDlgItem(IDC_EDIT)-> InvalidateRect(NULL);
加到后面试试
可能是窗口刷新的问题

YjingA 发表于 2016-6-29 11:46:35

ryxcaixia 发表于 2016-6-29 08:56
GetDlgItem(IDC_EDIT)-> InvalidateRect(NULL);
加到后面试试
可能是窗口刷新的问题

不行啊哥{:5_100:}

wstxh 发表于 2016-6-30 10:46:36

打打酱油,看看大神们的高见

ELI_ 发表于 2016-7-1 12:19:54

谢谢分享
页: [1]
查看完整版本: 给MFC的edit中的文字改颜色