1、在類public處定義: CFont m_Font;
2、在初始化處OnInitDialog()定義:
m_Font.CreatePointFont(150,_T("華文行楷"),NULL);
m_ControlEdit.SetFont(&m_Font,FALSE);//m_ControlEdit為需要改變字體的edit控件control變量
轉載的:
[問題提出]
你有沒有感到Edit,Static....控件的字體太單調,沒什麼新新樣?下面的內容,給你一
個解答.
[解決方法]
簡單的步驟:在Windows中,每個窗體都有自己的字體.要改變其字體首先要
CFont::CreateFont創建一個字體,然後用CWnd::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 );
參數說明:
nHeight :字體高度.>0:字體的高度值;=0:字體采用缺省直.<0:此值的絕對
值為高度.
nWidth :字體寬度.
nEscapement :文本行的傾斜度.
nOrientation :字符基線的傾斜度.
nWeight :字體的粗細.如下:
.FW_DONTCARE
.FW_THIN
.FW_EXTRALIGHT
.....
bItalic :字體是否為斜體
bUnderline :字體是否帶下劃線
cStrikeOut :字體是否帶刪除線
nCharSet :字體的字符集
.ANSI_CHARSET
.DEFAULT_CHARSET
.SYMBOL_CHARSET
......
nOutPrecision :字符的輸出精度
nClipPrecision :字符裁剪的精度
nQuality :字符的輸出質量
nPitchAndFamily :字符間距和字體族(低位說明間距,高位說明字符族)
lpszFacename :字體名稱
[程序實現]
假設你已有了名為My的對話框工程.並有一個ID=IDC_EDIT1的Edit控件.
class CMyDlg : public CDialog
{
public:
CFont m_Font;
........
};
BOOL CTMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//CFont m_Font;
m_Font.CreateFont(-
11,0,0,0,100,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRE
CIS,DEFAULT_QUALITY,FF_SWISS,"Arial");
CEdit *m_Edit=(CEdit *)GetDlgItem(IDC_EDIT1);
m_Edit->SetFont(&m_Font,FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
說明:在OnInitDialog()中的//CFont m_Font;前的"//"號去掉,將類聲明中的CFont
m_Font;去掉會是什麼結果?請自己試試.
本文出自 “入乎其內出乎其外” 博客,請務必保留此出處http://b217dgy.blog.51cto.com/5704306/1303095