Text-Formatting 屬性
應用程式可以使用六個函式來設定裝置內容的文字格式屬性:SetBkColor、SetBkMode、SetTextAlign、SetTextCharacterExtra、SetTextColor,以及 SetTextJustification。 這些函式會影響文字對齊、字元間距、文字對齊以及文字和背景色彩。 此外,其他六個函式可用來擷取任何裝置內容的目前文字格式設定屬性:GetBkColor、GetBkMode、GetTextAlign、GetTextCharacterExtra、GetTextColor和 GetTextExtentPoint32。
文字對齊方式
應用程式可以使用 SetTextAlign 函式來指定系統在呼叫其中一個繪圖函式時,應該如何將字元放置在文字字串中。 此函式可用來定位標題、頁碼、註解文字等等。 系統會通過對齊圍繞字串的假想矩形上的參考點,來將文字字串定位到目前的游標位置或傳遞為參數的某個點至其中一個文字繪製函式。 SetTextAlign 函式可讓應用程式指定這個參考點的位置。 以下是可能的參考點位置清單。
位置 | 描述 |
---|---|
左/下 | 參考點位於矩形左下角。 |
左/底線 | 參考點位於字元儲存格基底線和矩形左邊緣的交集處。 |
左/上 | 參考點位於矩形左上角。 |
置中/下方 | 參考點位於矩形底部的中央。 |
中心線/基線 | 參考點位於字元單元格基底線和矩形中央的交集處。 |
中央/頂部 | 參考點位於矩形頂端的中心。 |
右/下 | 參考點位於矩形右下角。 |
右/底線 | 參考點位於字元儲存格基底線和矩形右邊緣的交集處。 |
右/上 | 參考點位於矩形右上角。 |
下圖顯示呼叫 TextOut 函式所繪製的文字字串。 在繪製文字之前,會呼叫 SetTextAlign 函式,將參考點重新放置於九個可能位置的每一個位置。
裝置內容的預設文字對齊方式是圍繞文字的虛構矩形左上角。 應用程式可以藉由呼叫 getTextAlign 函式,擷取任何裝置內容的目前文字對齊設定。
字元間距
應用程式可以使用 SetTextCharacterExtra 函式來改變指定裝置內容中所有文字輸出作業的字元間距。 下圖顯示透過呼叫 TextOut 函數來繪製的文字字串,該字串被繪製了兩次。 在第二次繪製文字之前,會呼叫 SetTextCharacterExtra 函式,以遞增字元間距。
任何裝置內容的預設字元間距值為零。 應用程式可以藉由呼叫 getTextCharacterExtra 函式 來擷取裝置內容的目前字元間距值。
文字對齊
應用程式可以使用 GetTextExtentPoint32 和 SetTextJustification 函式來證明文字行的合理性。 文字理由在任何桌面發佈和大部分字處理應用程式中都是常見的作業。 GetTextExtentPoint32 函式會計算文字字串的寬度和高度。 計算寬度之後,應用程式可以呼叫 SetTextJustification 函式,以在文字行中的每個單字之間分配額外的間距。 下圖顯示兩次列印的文字段落:在第一個段落中,文字沒有對齊:在第二個段落中,文字會藉由呼叫 getTextExtentPoint32 和 SetTextJustification 函式來對齊。
文字和背景色彩
應用程式可以使用 SetTextColor 函式來設定在其視窗工作區中繪製的文字色彩,以及繪製在彩色印表機上的文字色彩。 應用程式可以使用 SetBkColor 函式來設定每個字元後面出現的色彩,以及 SetBkMode 函式,以指定系統應如何將選取的背景色彩與視訊顯示上的目前色彩或色彩混合。
顯示裝置內容的預設文字色彩為黑色;默認背景色彩為白色;和預設背景模式為 OPAQUE。 應用程式可以呼叫 getTextColor 函式,以擷取裝置內容的目前文字色彩。 應用程式可以藉由呼叫 GetBkColor 函式來擷取裝置內容的目前背景色彩,並藉由呼叫 GetBkMode 函式來擷取目前的背景模式。