CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

对话框字体修改!

楼主zxcsy()2003-01-03 11:45:19 在 VC/MFC / 界面 提问

想对对话框上的字体进行修改,要求对不同的static字体样式、大下不同。 问题点数:20、回复次数:17Top

1 楼chenzhou35(vcworm.51.net)回复于 2003-01-03 11:52:51 得分 0

m_mystatic.SetFont()Top

2 楼prettywolf(多情自古空余恨,此恨绵绵无绝期)回复于 2003-01-03 12:04:16 得分 0

CFont   font;  
  font.CreatePointFont(...);  
  m_mystatic.SetFont(font);//这里我不太记得了,好像是&font的。Top

3 楼qrlvls( 空 气 )回复于 2003-01-03 12:17:39 得分 0

那么你应该重载的是CStatic类,而不是对对话框进行操作  
  是不是有SetFont我都记不清楚了,如果有的话我就亏大了,我都是重载过来的。Top

4 楼zswzwy(酒是穿肠毒药 @ 色是刮骨钢刀)回复于 2003-01-03 12:24:13 得分 0

好像要重载。Top

5 楼zxcsy()回复于 2003-01-03 13:00:20 得分 0

又没改变字体的控件Top

6 楼zxcsy()回复于 2003-01-03 13:29:07 得分 0

怎么不行呀?代码如下  
  OnInitDialog()    
  {  
  CDialog::OnInitDialog();  
   
  CFont   font;  
  font.CreateFont(15,  
  0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,  
  OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,  
  VARIABLE_PITCH|FF_SWISS,_T("楷体"));  
  m_sta1.SetFont(&font);//  
  return   TRUE;      
  }  
  是否要重载static类Top

7 楼cuterain(eM魔鬼)回复于 2003-01-03 13:37:29 得分 0

没有必要重载啊!让让我看看你的代码?  
    CStatic   *pStiatic=(CStatic   *)GetDlgItem(IDC_STATIC);  
            pStiatic->SetFont(&m_Font,FALSE);  
  //把你的代码修改成上面,IDC_STATIC为你的id  
  Top

8 楼cuterain(eM魔鬼)回复于 2003-01-03 13:39:44 得分 0

补充:每个窗口都可以设置自己的字体。当然重载也能实现了!  
  再补充:给分吧!哈哈Top

9 楼zxcsy()回复于 2003-01-03 13:59:16 得分 0

还不行,看看下面代码有没错  
  BOOL   CPara::OnInitDialog()    
  {  
  CDialog::OnInitDialog();  
  CStatic   *pStiatic=(CStatic   *)GetDlgItem(IDC_STATIC1);  
           
  CFont   font;  
    font.CreateFont(15,  
  0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,  
  OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,  
  VARIABLE_PITCH|FF_SWISS,_T("楷体"));  
    pStiatic->SetFont(&font,FALSE);  
  return   TRUE;    
  }Top

10 楼cuterain(eM魔鬼)回复于 2003-01-08 13:19:58 得分 0

font.CreateFont(15,  
  0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,  
  OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,  
  VARIABLE_PITCH|FF_SWISS,_T("楷体"));  
  看看msdn好了Top

11 楼zswzwy(酒是穿肠毒药 @ 色是刮骨钢刀)回复于 2003-01-08 13:48:10 得分 0

CDC*   pDC=GetDC();  
  m_font.CreateFont(MulDiv(8,-pDC->GetDeviceCaps(LOGPIXELSY),20),0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,VARIABLE_PITCH   |   FF_SWISS,_T("Arial"));  
  m_button.SetFont(&m_font);  
   
  把Button改为static,static的ID一定要改变.ID_MYSTATIC......  
  Top

12 楼linxi075(林夕)回复于 2003-01-08 14:07:15 得分 0

上面说的都有点道理,但好像都不完整,现在我没时间,有时间我给你说  
  不用重载Top

13 楼zxcsy()回复于 2003-01-08 16:08:40 得分 0

CStatic   *pStatic=(CStatic   *)GetDlgItem(IDC_STATIC1);  
           
  CFont   font;  
          CDC*   pDC=GetDC();  
  font.CreateFont(MulDiv(15,-pDC->GetDeviceCaps(LOGPIXELSY),20),0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,VARIABLE_PITCH   |   FF_SWISS,_T("宋体"));  
   
          pStatic->SetFont(&font,FALSE);Top

14 楼zxcsy()回复于 2003-01-08 16:09:08 得分 0

上面的还是没反应Top

15 楼zxcsy()回复于 2003-01-17 14:51:16 得分 0

气愤  
  没有解决问题Top

16 楼dispatchwengqun(≡≡★★郁闷★★≡≡)回复于 2003-01-17 15:05:00 得分 20

前面给出的代码思路没错,但有一个地方错了,也就是在函数内定的的CFont实例在退出函数时就被构柝掉了,Dialog的控件是得不到真正的字体的。  
  应该在Dialog内定义CFont的实例,然后再使用。  
  例如:  
   
  class   CTestdlgDlg   :   public   CDialog  
  {  
  CFont     m_font;  
  }  
   
  BOOL   CTestdlgDlg::OnInitDialog()  
  {  
  CDialog::OnInitDialog();  
   
  ...  
   
  m_font.CreatePointFont(200,   _T("Arail"));  
  GetDlgItem(IDC_STATIC1)->SetFont(&m_font);  
   
  ...  
  }  
  Top

17 楼zxcsy()回复于 2003-01-20 10:17:54 得分 0

谢谢dispatchwengqun(ougun)    
  不过字体大下是能改了,只是为什么不能改变字体  
  比如m_font.CreatePointFont(200,   _T("华文彩云"));就不行  
  另外多问一句,能改变字体颜色吗Top

相关问题

  • 如何修改对话框的字体?如ShowMessage("")产生的对话框中的字体。
  • InstallShield中,如何修改安装程序第一个对话框的字体?
  • java 对话框字体!
  • 修改对话框属性???
  • 基于对话框的程序怎么修改静态文本框和按钮控件上的字体??
  • 怎样修改ceditbox中字体的大小,使其与对话框中其他字号不同?怎样将对话框的背景设置成一张图片?怎样将对话框设置成全屏形式?
  • 用通用对话框无法打开字体对话框
  • 关于对话框字体的问题!!!
  • 对话框的字体问题?
  • “字体”对话框的疑惑

关键词

  • 字体
  • 代码
  • idc
  • precis
  • cstatic
  • pstiatic
  • 重载
  • stroke
  • 对话框
  • setfont

得分解答快速导航

  • 帖主:zxcsy
  • dispatchwengqun

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo