您的位置:程序门 -> vc/mfc -> 界面



菜鸟问路:怎样改变按钮上标题的字体啊?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


菜鸟问路:怎样改变按钮上标题的字体啊?[已结贴,结贴人:hjm23]
发表于:2007-09-26 19:08:41 楼主
刚接触vc不久,很多问题都不明白,现在除了界面编程,其他的方面都不想了!希望学好界面这方面在去学vc里的其他方面吧.今天又遇到这样一个问题,希望五湖四海的朋友帮忙解决解决!小女感激不尽!

oninitdialog()
{
      //........

      pbutton1-> create(_t( "立即关机 "),   ws_child   ¦   ws_visible,
              crect(90,110,190,140),   this,   1);
      cbutton   *pbutton2=new   cbutton();
      pbutton2-> create(_t( "手动关机 "),   ws_child   ¦   ws_visible,
              crect(240,110,340,140),   this,   2);
}
为什么这样动态创建的按钮(还有其他很多时候)它的字体和对话框模版上的字体不同啊?我用的环境是vc++.net   2003的!
发表于:2007-09-26 19:14:261楼 得分:0
动态创建的窗体需要自己设置字体  
发消息wm_setfont给该控件即可
发表于:2007-09-26 20:22:102楼 得分:0
自绘可行!
发表于:2007-09-26 21:09:183楼 得分:4

cbutton   类继承于   cwnd   类,所以可以调用   cwnd::setfont()   函数指定字体。

1、建立对话框的成员变量:

      cfont   m_font;

2、创建字体对象:

      m_font.createfont(...);

3、为按钮指定字体:

      pbutton1-> setfont(   &m_font   ,   false   );

      最后一个参数就是要使用的字体,详见   msdn。

////////////////////////////////////////////////////////////////

cbutton   *pbutton1   =   new   cbutton();

pbutton1-> create(_t( "立即关机 "),   ws_child   ¦   ws_visible,
crect(420,150,520,200),   this,   10);

m_font.createfont(-11,0,0,0,100,false,false,0,ansi_charset,
out_default_precis,clip_default_precis,default_quality,ff_swiss, "arial ");

pbutton1-> setfont(&m_font,false);

////////////////////////////////////////////////////////////////
发表于:2007-09-26 21:50:524楼 得分:6
oninitdialog()
{
      //........

      pbutton1-> create(_t( "立即关机 "),   ws_child   ¦   ws_visible,
              crect(90,110,190,140),   this,   1);
///////////////////这里设与对话框统一的字体
      pbutton1-> setfont(getfont())   ;
///////////////////////////////////////////

      cbutton   *pbutton2=new   cbutton();
      pbutton2-> create(_t( "手动关机 "),   ws_child   ¦   ws_visible,
              crect(240,110,340,140),   this,   2);
}
发表于:2007-09-26 22:11:555楼 得分:0

还是楼上的方法简单,学习。
发表于:2007-09-27 15:35:546楼 得分:0
大恩不言谢哦!


快速检索

最新资讯
热门点击