求代码VC6.0 MFC 实现按钮弹出的颜色对话框和字体对话框,选择确定后改变编辑框中的输入文字颜色 和字体

2024年11月03日 15:47
有1个网友回答
网友(1):

//全局变量或是类成员变量
CFont font;
COLORREF color=RGB(255,0,0); //初始颜色
//在OnInitDialog( )中
SetDlgItemText(IDC_EDIT1,"微软"); //设置edit控件文字
//在第一个按钮(颜色选择按钮)单击响应函数中
CColorDialog cc(RGB(255,0,0),0,this);
if(IDOK==cc.DoModal())
{
color=cc.GetColor();
CDC* dc=GetDC();

Invalidate();
dc->FillSolidRect(0,0,50,50,color);
}
//在第二个按钮(字体选择按钮)单击响应函数中
        LOGFONT lf;
CFontDialog ff;
memset(&lf,0,sizeof(LOGFONT));
if(IDOK==ff.DoModal())
{
font.CreateFontIndirect(ff.m_cf.lpLogFont);
GetDlgItem(IDC_EDIT1)->SetFont(&font);
}
//增加WM_CTLCOLOR消息响应
if(pWnd->GetDlgCtrlID()==IDC_EDIT1)
{
pDC->SetTextColor(color);
}