vs2010mfc編程入門之十八(對話框:字體對話框)

vs2010mfc編程入門之十八(對話框:字體對話框)

ID:32585822

大小:95.80 KB

頁數(shù):6頁

時間:2019-02-13

vs2010mfc編程入門之十八(對話框:字體對話框)_第1頁
vs2010mfc編程入門之十八(對話框:字體對話框)_第2頁
vs2010mfc編程入門之十八(對話框:字體對話框)_第3頁
vs2010mfc編程入門之十八(對話框:字體對話框)_第4頁
vs2010mfc編程入門之十八(對話框:字體對話框)_第5頁
資源描述:

《vs2010mfc編程入門之十八(對話框:字體對話框)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、雞啄米在上一節(jié)為大家講解了文件對話框的使用,本節(jié)則主要介紹字體對話框如何應(yīng)用。字體對話框的作用是用來選擇字體。我們也經(jīng)常能夠見到。MFC使用CFontDialog類封裝了字體對話框的所有操作。字體對話框也是一種模態(tài)對話框。CFontDialog類的構(gòu)造函數(shù)我們先來了解CFontDialog類。它的常用構(gòu)造函數(shù)原型如下:CFontDialog(LPLOGFONTIplflnitial=NULL,DWORDdwFlags=CF_EFFECTS

2、CF_SCREENFONTS,CDC*pdcPrinter=NULL,CW

3、nd*pParentWnd=NULL);參數(shù)說明:Iplflnitial:指向LOGFONT結(jié)構(gòu)體數(shù)據(jù)的指針,可以通過它設(shè)置字體的一些特征。dwFlags:指定選擇字體的一個或多個屬性,詳情可在MSDN中查閱。pdcPrinter:指向一個打印設(shè)備上下文的指針。pParentWnd:指向字體對話框父窗口的指針。上面的構(gòu)造函數(shù)屮第一個參數(shù)為LOGFONT指針,LOGFONT結(jié)構(gòu)體中包含了字體的大部分特征,包括字體高度、寬度、方向、名稱等等。下面是此結(jié)構(gòu)體的定義:typedefstructtagLOGFONT{LON

4、GIfHeight;LONGIfWidth;LONGIfEscapement;LONGIfOrientation;LONGIfWeight;BYTEIfltalic;BYTEIfUnderline;BYTEIfStrikeOut;BYTEIfCharSet;BYTEIfOutPrecision;BYTEIfClipPrecision;BYTEIfQuality;BYTEIfPitchAndFamily;TCHARlfFaceName[LF_FACESIZE];}LOGFONT;獲取字體對話框中所選字體我們在字體對

5、話框小選擇了字體后,如何獲取選定的字體呢?我們可以通過CFontDialog類的成員變量m_cf間接獲得選定字體的CFont對象。m_cf是CHOOSEFONT類型的變量,CHOOSEFONT結(jié)構(gòu)體定義如下:typedefstruct{DWORDIStructSize;HWNDhwndOwner;HDChDC;LPLOGFONTIpLogFont;INTiPointSize;DWORDFlags;COLORREFrgbColors;LPARAMICustData;LPCFHOOKPROCIpfnHook;LPCT

6、STRIpTemplateName;HINSTANCEhlnstance;LPTSTRIpszStyle;WORDnFontType;INTnSizeMin;INTnSizeMax;}CHOOSEFONT,*LPCHOOSEFONT;CHOOSEFON結(jié)構(gòu)體中冇個成員IpLogFont,它是指向LOGFONT結(jié)構(gòu)體變量的指針,就像上面所說,LOGFONT'

7、?包含了字體特征,例如,我們可以通過LOGFONT的IfFaceName得知字體名。我們最終要獲得的是所選擇字體的CFont對象,有了字體的LOGFONT怎樣

8、獲得對應(yīng)的CFont對象呢?使用CFont類的成員函數(shù)CreateFontlndirect4以達到此目的。函數(shù)原型如下:BOOLCreateFontlndirect(constLOGFONT*IpLogFont);參數(shù)是LOGFONT指針類型,我們可以傳入CFontDialog類成員變量m_cf的IpLogFont成員,就可以得到所選字體的CFont對象了。字體對話框應(yīng)用實例雞啄米給大家做一個字體対話框的實例。先介紹此實例要實現(xiàn)的功能,生成一個對話框,對話框屮放置一個“字體選擇”按鈕和一個編輯框。點擊“字體選擇”

9、按鈕將彈出字體對話框。編輯框用于顯示所選字體名,并以選定的字體來顯示字體名字符串,例如,如果選擇了宋體,則在編輯框中以宋體顯示字符串“宋體”。以下是創(chuàng)建此實例的步驟:1.創(chuàng)建一個基于對話框的MFC工程,名字為“Example18”。2.在自動生成的主對話框IDD_EXAMPLE18_DIAL0G的模板屮,刪除“TODO:Placedialogcontrolshere.”靜態(tài)文本框,添加一個按鈕,ID設(shè)為IDC_FONT_BUTTON,Caption設(shè)為“字體選擇”,用于顯示字體對話框來選擇字體,再添加一個編輯框,

10、ID設(shè)為IDC_FONT_EDIT,用來以所選字體顯示字體名字符串。3.在Examplei8Dlg.h中為CExamplel8Dlg類添加private成員變量:CFontm_font;,用來保存編輯框中選擇的字體。4.為按鈕IDC_FONT_BUTTON添加點擊消息的消息處理函數(shù)CExamplel8Dlg::OnBnClickedFontButton()05.修改消息處

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。