众海消防主机编程密码:VC控件字体设置

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 16:04:32
VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体。对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了。
    例子:
    1、改静态文体的ID,如:IDC_STATIC1
    2、添加一个Edit控件,建立一个关联的控件m_editControl。
    3、在OnInitDialog中添加如下代码:
CFont * f; 
     f = new CFont; 
     f->CreateFont(16, // nHeight 
     0, // nWidth 
     0, // nEscapement 
     0, // nOrientation 
     FW_BOLD, // nWeight 
     TRUE, // bItalic 
     FALSE, // bUnderline 
     0, // cStrikeOut 
     ANSI_CHARSET, // nCharSet 
     OUT_DEFAULT_PRECIS, // nOutPrecision 
     CLIP_DEFAULT_PRECIS, // nClipPrecision 
     DEFAULT_QUALITY, // nQuality 
     DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily 
     _T("Arial")); // lpszFac 
   
     GetDlgItem(IDC_STATIC1)->SetFont(f); 需要注意的是,这里我们使用的是CFont指针,而不是普通的CFont局部变量, 在非MFC程序,首先用CreateFont来建立一个字体句柄,然后再用SendMessage发给控件WM_SETFONT消息,将建立的字体句柄赋值过去,就可以了。

其中CreateFont函数声明如下:

BOOL    CreateFont
(    
                                    int    nHeight,                        //字体的高度  
                                    int    nWidth,                          //字体的宽度  
                                    int    nEscapement,                //字体显示的角度  
                                    int    nOrientation,              //字体的角度  
                                    int    nWeight,                        //字体的磅数  
                                    BYTE    bItalic,                      //斜体字体  
                                    BYTE    bUnderline,                //带下划线的字体  
                                    BYTE    cStrikeOut,                //带删除线的字体  
                                    BYTE    nCharSet,                    //所需的字符集  
                                    BYTE    nOutPrecision,          //输出的精度  
                                    BYTE    nClipPrecision,        //裁减的精度    
                                    BYTE    nQuality,                    //逻辑字体与输出设备的实际  
                                                                                  //字体之间的精度  
                                    BYTE    nPitchAndFamily,      //字体间距和字体集  
                                    LPCTSTR    lpszFacename        //字体名称  

);