如何改變對話框EDIT Control內控件的字體?

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;去掉會是什麼結果?請自己試試.




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章