Windows图形界面(GUI)-MFC-C/C++ - 字体对话框

打印 上一主题 下一主题

主题 1013|帖子 1013|积分 3039


  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​链接点击跳转博客主页
目录
字体对话框
概念
流程
拓展
示例


字体对话框

概念




  • 字体对话框:是一种预定义的对话框,用于显示体系中可用的字体列表,并允许用户选择字体及其属性。
  • 用途:常用于文本编辑器、图形设计软件等需要用户自定义字体样式的应用步伐。
流程




  • 选择字体对话框类:使用CFontDialog类来创建字体对话框。
  • 初始化对话框:设置对话框的初始参数,如默认字体、字体属性等。
  • 显示对话框:调用DoModal函数显示对话框,等待用户选择字体。
  • 获取用户选择:对话框关闭后,通过对话框对象获取用户选择的字体信息。

    • GetCurrentFont函数:获取用户选择的字体信息,填充一个LOGFONT布局体。
    • GetFaceName函数:获取用户选择的字体名称。
    • GetStyleName函数:获取用户选择的字体样式名称。
    • GetSize函数:获取用户选择的字体巨细。

拓展




  • CFontDialog类:是MFC提供的用于创建字体对话框的类。
  • 构造函数参数:可以担当一个LOGFONT布局体的指针,用于设置对话框的初始字体。

    • pFont:一个指向LOGFONT布局体的指针,用于设置对话框的初始字体。
    • dwFlags:对话框的标志,用于自定义对话框的举动和表面。
    • lpszStyle:一个字符串,用于指定对话框中显示的字体样式。

  • 字体选择:确保对话框显示的字体列表是最新的,反映了体系中安装的所有字体。
  • 用户交互:字体对话框应提供清晰的界面,帮助用户明白和选择字体属性。
  • 错误处理:检查用户是否选择了字体,以及选择的字体是否有用。
示例

  1. void CMainDlg::OnBnClickedButton11()
  2. {
  3.         CFontDialog fontDialog;
  4.         //m_font == CFont m_font; 类成员变量
  5.         // 选择字体
  6.         if (fontDialog.DoModal() == IDOK)
  7.         {
  8.                 // 获取字体
  9.                 LOGFONT lf;
  10.                 fontDialog.GetCurrentFont(&lf);
  11.                 // 删除字体
  12.                 m_font.DeleteObject();
  13.                 // 创建字体
  14.                 if (m_font.CreateFontIndirect(&lf))
  15.                 {
  16.                         CButton* pButton = (CButton*)GetDlgItem(IDC_BUTTON2);
  17.                         if (pButton != NULL)
  18.                         {
  19.                                 pButton->SetFont(&m_font);
  20.                                 pButton->SetWindowText(fontDialog.GetFaceName());
  21.                         }
  22.                 }
  23.         }
  24. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

铁佛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表