資源描述:
《Windows程序設(shè)計(jì)教程 教學(xué)課件 作者 郭皞巖 屈景輝 廖琪梅 第6章-文本和字體.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、Windows程序設(shè)計(jì)教程第6章文本和字體在Windows操作系統(tǒng)中,使用設(shè)備上下文不僅能對(duì)圖形圖像進(jìn)行處理,對(duì)文本也能進(jìn)行相應(yīng)的操作。在Windows應(yīng)用程序的編寫(xiě)過(guò)程中,對(duì)于文本和字體的處理是程序員應(yīng)該熟悉掌握的知識(shí)點(diǎn)。本章將講解如何使用CDC類(lèi)對(duì)文本和字體進(jìn)行處理。文本函數(shù)6.1文本屬性6.2字體6.36.1文本函數(shù)在CDC類(lèi)中,常用的文本函數(shù)是TextOut()、DrawText()、ExtTextOut()和TabledTextOut()。下面對(duì)這4個(gè)函數(shù)分別進(jìn)行詳細(xì)介紹。6.1.1使用TextOut顯示文本調(diào)用CDC類(lèi)的成員
2、函數(shù)TextOut(),可以在指定位置顯示文本。該函數(shù)的原型如下:virtualBOOLTextOut(intx,inty,LPCTSTRlpszString,intnCount);BOOLTextOut(intx,inty,constCString&str);圖6.1程序sample0601的運(yùn)行結(jié)果6.1.2使用DrawText顯示指定格式文本DrawText()函數(shù)用于在指定的區(qū)域中格式化文本。該函數(shù)的原型如下:virtualintDrawText(LPCTSTRlpszString,intnCount,LPRECTlpRect,
3、UINTnFormat);intDrawText(constCString&str,LPRECTlpRect,UINTnFormat);圖6.2程序sample0602的運(yùn)行結(jié)果6.1.3使用ExtTextOut顯示字符串調(diào)用ExtTextOut()函數(shù)可以用當(dāng)前選用的字體,在指定的矩形區(qū)域內(nèi)顯示字符串。該函數(shù)的原型如下:virtualBOOLExtTextOut(intx,inty,UINTnOptions,LPCRECTlpRect,LPCTSTRlpszString,UINTnCount,LPINTlpDxWidths);BOOL
4、ExtTextOut(intx,inty,UINTnOptions,LPCRECTlpRect,constCString&str,LPINTlpDxWidths);圖6.3程序sample0603的運(yùn)行結(jié)果6.1.4使用TabbedTextOut顯示字符串使用TabbedTextOut()函數(shù)可以在指定位置顯示字符串,并用指定的制表間距擴(kuò)展Tab制表位。該函數(shù)的原型如下:virtualCSizeTabbedTextOut(intx,inty,LPCTSTRlpszString,intnCount,intnTabPositions,LPI
5、NTlpnTabStopPositions,intnTabOrigin);CSizeTabbedTextOut(intx,inty,constCString&str,intnTabPositions,LPINTlpnTabStopPositions,intnTabOrigin);6.2文本屬性文本的屬性包括文本的對(duì)齊方式、字符間距、映射模式以及文本的顏色和文本的背景顏色等。在上一節(jié)的示例中,使用的文本屬性均為默認(rèn)設(shè)置。下面對(duì)文本屬性的各個(gè)方面進(jìn)行詳細(xì)介紹。6.2.1對(duì)齊方式在CDC類(lèi)中,調(diào)用SetTextAlign()函數(shù)可以設(shè)置文本的
6、對(duì)齊方式。該函數(shù)的原型如下:UINTSetTextAlign(UINTnFlags);其中,參數(shù)nFlags表示用于指定文本的對(duì)齊方式。該參數(shù)的常用取值如表6.2所示。調(diào)用GetTextAlign()函數(shù)可以獲取當(dāng)前文本的對(duì)齊方式。該函數(shù)的原型如下:UINTGetTextAlign()const;圖6.4程序sample0605的運(yùn)行結(jié)果6.2.2字符間距在CDC類(lèi)中,調(diào)用SetTextCharacterExtra()函數(shù)可以設(shè)置字符間距。該函數(shù)的原型如下:intSetTextCharacterExtra(intnCharExtra);
7、其中,參數(shù)nCharExtra表示用于指定加入到每個(gè)字符串的額外間距值。如果想要獲取當(dāng)前的字符間距,可以調(diào)用GetTextCharacterExtra()函數(shù)。該函數(shù)的原型如下:intGetTextCharacterExtra()const;圖6.5程序sample0606的運(yùn)行結(jié)果6.2.3背景模式在CDC類(lèi)中,調(diào)用SetBkMode()函數(shù)可以設(shè)置文本背景模式,確定文本輸出背景顏色的顯示方式。該函數(shù)的原型如下:intSetBkMode(intnBkMode);如果想要獲取當(dāng)前文本的背景模式,可以調(diào)用GetBkMode()函數(shù)。該函數(shù)
8、的原型如下:intGetBkMode()const;圖6.6程序sample0607的運(yùn)行結(jié)果6.2.4文本顏色在CDC類(lèi)中,調(diào)用成員函數(shù)SetTextColor()可以設(shè)置文本的顏色。該函數(shù)的原型如下:v