设为首页 加入收藏

TOP

VC++ 控件改变编辑框字体和颜色(弹出对话框)
2018-06-14 09:13:32 】 浏览:212
Tags:控件 改变 编辑 字体 颜色 对话

调用字体对话框,来改变编辑框的字体和颜色?
1.添加一个编辑框 ID为 IDC_EDIT1?
2.为编辑框添加变量 CEdit m_edit?
3.添加一个按钮触发该事件

 void CTeTDlg::OnButton1() //添加一个按钮  
  {  
// TODO: Add your control notification handler code here  
//获得控件的当前字体  
LOGFONT lf;  
GetDlgItem(IDC_EDIT1)->GetFont()->GetLogFont(&lf);//IDC_EDIT1为编辑框ID  
//使用按钮的当前字体初始化字体对话框  
CFontDialog dlgFontDlg(&lf);  
//显示字体选择对话框  

if (dlgFontDlg.DoModal() == IDOK)  
{  
 //如果用户在字体选择对话框中单击了“确定”按钮  
 //则将按钮ID_BUTTON_DEMODE的标题文本字体设置为所选定的字体  
 static CFont font;  
  color = dlgFontDlg.GetColor();//获得选择的颜色  color为COLORREF类型 在.h文件中声明  (设置颜色)  

  m_edit.SetFocus();//m_edit 为编辑框的控件变量  

 dlgFontDlg.GetCurrentFont(&lf);//获取当前的字体  
 font.DeleteObject();  //删除字体  
 font.CreateFontIndirect(&lf);//新建  
 GetDlgItem(IDC_EDIT1)->SetFont(&font);//设置为新的字体  
}
  }  

4.添加color消息

 HBRUSH CTeTDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  //添加color消息  
 {  
  HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);  

  // TODO: Change any attributes of the DC here  

if(nCtlColor == CTLCOLOR_EDIT)  
pDC->SetTextColor(color);  //初始化颜色  
  // TODO: Return a different brush if the default is not desired  
  return hbr;  
 } 



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++ 多维数组练习 下一篇C++容器和迭代器实例讲解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }