VisualFC使用 - DialogFont(对话框字体设计)

       VisualFC支持对话框的字体设计功能,通过在对话框程序中包括一个vfcfonts.h文件,配合VisualFC的WTL类向导就可以方便的为对话框中的控件进行字体设计。事例如下:

     首先,新建一个WTL对话框应用程序,在使用资源编辑器编辑IDD_DIALOG,添加一个Static Text控件,将ID值由IDC_STATIC更改为IDC_VFC_STATIC,将Caption更改为VisualFC,然后拖动其边框到足够大小,再添加一个EDIT控件,将其属性设置为Multiline和Want return。启动VFC的WTL类向导,将Class Name切换为CMainDlg,选择WTL Font页面,其中上面窗口为控件列表,下面窗口为应用字体的控件列表,选中IDC_VFC_STATIC,点击Add Font按钮,将出现字体选择对话框,我们可以选择一个需要的字体并确认,然后再对IDC_EDIT的字体进行更改。最后按WTL类向导的确认按钮,将在CMainDlg中自动插入下列代码。

BEGIN_DLGFONT_MAP(CMainDlg)
  DLGFONT_CONTROL_EX(IDC_EDIT1, 
- 20 , 0 , 0 , 0 , 400 , 0 , 1 , 0 , 134 , 3 , 2 , 1 , 2 ,_T( "" ))
 DLGFONT_CONTROL_EX(IDC_VFC_STATIC, 
- 48 , 0 , 0 , 0 , 700 , 255 , 0 , 0 , 0 , 3 , 2 , 1 , 18 ,_T( " Times New Roman " )) 
END_DLGFONT_MAP()

然后我们手工加入所需头文件vfcfonts.h以及继承列表并在InitDialog中初始化字体控制。

#include  < vfcfonts.h >   // 我们手工加入字体支持

class  CMainDlg :  public  CDialogImpl < CMainDlg > public  CUpdateUI < CMainDlg > ,
        
public  CMessageFilter,  public  CIdleHandler, 
        
public  CDialogFont < CMainDlg >   // 我们手工加入字体支持继承类
{
。。。
    BEGIN_DLGFONT_MAP(CMainDlg)
        DLGFONT_CONTROL_EX(IDC_EDIT1, 
-20,0,0,0,400,0,1,0,134,3,2,1,2,_T("宋体"))
        DLGFONT_CONTROL_EX(IDC_VFC_STATIC, 
-48,0,0,0,700,255,0,0,0,3,2,1,18,_T("Times New Roman"))
    END_DLGFONT_MAP()
。。。

    LRESULT OnInitDialog(UINT 
/*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
    
{
。。。。。
        DlgFont_Init(); 
//我们手工加入对话框字体初始化支持
        return TRUE;
    }


}

好了,编译一下,我们可以看一下运行效果,如图:

VFC的WTL类向导上的WTL Font页面上除了Add Font外还有一个Add DlgFont,这是用来设置所有未使用Add Font处理过的控件的字体用的(即未加入BEGIN_DLGFONT_MAP内的控件),可以用来控制对话控件的基准字体。

备注:vfcfonts.h文件可以在VFC的下载包中找到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值