如何改变对话框上所有控件的字体

hldwkl 2008-12-04 03:38:35
通过CFontDialog选择字体后会将对话框上所有控件字体改变不是单独的某个控件
就像对话框属性里面的字体一样。
...全文
227 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
guogangj 2008-12-05
  • 打赏
  • 举报
回复
看我的!

BOOL __stdcall SetChildFont(HWND hwnd, LPARAM lparam)
{
SendMessage(hwnd, WM_SETFONT, lparam, TRUE);
return TRUE;
}

//在对话框消息处理中
LRESULT CALLBACK LouZhu_DlgProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
//...
EnumChildWindows(hwndDlg, SetChildFont, (LPARAM)GetStockObject(DEFAULT_GUI_FONT));
break;
//...
}
//...
}


根据你的需要,你还可以更换为别的字体,我取的是系统默认字体,这样无论在哪种语言环境下都有较好的显示,在简体中文环境下貌似是9号宋体字。
ilovedrv 2008-12-04
  • 打赏
  • 举报
回复
1. 修改对话框上的所有字体,直接在资源编辑器里打开对话框,右键属性,修改字体选项

2. 改对话框某个控件字体,在程序中获取该控件窗口指针 GetDlgItem,然后SetFont()
Learn-anything 2008-12-04
  • 打赏
  • 举报
回复
mark
zzz822163 2008-12-04
  • 打赏
  • 举报
回复
http://www.diybl.com/course/3_program/c++/cppjs/2007918/71942_2.html
cnzdgs 2008-12-04
  • 打赏
  • 举报
回复
在对话框类中定义一个CFont对象,在显示CFontDialog之后,先调用CFont的DeleteObject,然后调用CreateFontIndirect,参数给CFontDialog对象的m_lf成员地址,然后用FindWindowEx遍历所有子控件,逐一SetFont。
hldwkl 2008-12-04
  • 打赏
  • 举报
回复
要动态的全改,我在CFontDialog里选择什么字体,对话框上所有的控件字体都要改
id27145 2008-12-04
  • 打赏
  • 举报
回复
CDialog::OnSetFont()
Override to specify the font that a dialog-box control is to use when it draws text.
-- msdn
用户 昵称 2008-12-04
  • 打赏
  • 举报
回复
全改容易。
hldwkl 2008-12-04
  • 打赏
  • 举报
回复
在说一遍不是修改单独某个控件的字体是要全改,
怎么样修改对话框的字体属性呢?
Sat_shan 2008-12-04
  • 打赏
  • 举报
回复
如果修改对话框的字体属性,这样会将对话框中所有的控件的字体属性进行修改。
如果想单独修改某个控件的字体属性,单独获得控件句柄SetFont修改字体
hldwkl 2008-12-04
  • 打赏
  • 举报
回复
另外这个要通过代码实现
hldwkl 2008-12-04
  • 打赏
  • 举报
回复
具体点,我不是太明白谢谢了
ToperRay 2008-12-04
  • 打赏
  • 举报
回复
全改很容易,改改对话框字体属性就可以了
jogger007 2008-12-04
  • 打赏
  • 举报
回复
资源试图对话框属性上有的
cabbageA 2008-12-04
  • 打赏
  • 举报
回复
好像是在对话框的create消息中改cs。
fishion 2008-12-04
  • 打赏
  • 举报
回复
那就把字体设置为对话框的字体就行了,对话框会统一改变的,
要不就是把对话框中的控件的句柄都找出来,有相关的函数的,再改字体
healer_kx 2008-12-04
  • 打赏
  • 举报
回复
你是想全改啊,还是想单改啊?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧