DrawText中的自動換行功能

2021-06-02 11:36:46 字數 635 閱讀 8409

本文摘自:

使用drawtext函式輸出文字,如果需要讓輸出的內容在指定矩形內自動換行,則可以使用dt_wordbreak選項。但根據api說明,該選項只能截斷單詞,即只在單詞間的空格處分割。如果輸出內容是一長串沒有空格分隔的ascii碼(如英文本元或數字),那麼該長串會被當做乙個單詞來處理而不會自動換行(中文字元沒有此問題)。如果要讓ascii碼組成的長字元自動換行,那麼可以使用dt_wordbreak和dt_editcontrol兩個選項搭配控制。

函式原型:

int drawtext(

hdc hdc,          // 裝置描述表控制代碼

lpctstr lpstring, // 將要繪製的字串

int ncount,       // 字串的長度

lprect lprect,    // 指向矩形結構rect的指標

uint uformat      // 正文的繪製選項

);函式描述:

函式drawtext用裝置環境中的字型、正文顏色和背景顏色來寫正文。drawtext裁剪正文,不會超出指定矩形,除非指定了dt_noclip。除非使用dt_singleline格式化,否則其餘的格式都認為正文有多行。

網頁中自動換行的問題

a。用 做網頁排版的時候,一般都能正常使用。偏偏有時會碰到一段連續的英文詞或者一堆感嘆號 把網頁就撐開的現象 總結了一下,只要在css中定義了如下句子,可保網頁不會再被撐開了。table td word break break all word wrap break word 注釋一下 1.第一條t...

VC中EditCtrl的自動換行

在vc中使用edit控制項顯示內容時,常常需要對顯示的內容進行換行,一般採用關聯乙個cstring變數的方式,然後在需要換行的地方將cstring的關聯變數加上 r n 注意必須是換行回車 r n 只加 n 是不行的。而且還有乙個需要注意的是需要將控制項屬性multiline設為true,否則也不會...

Android中TextView自動換行問題

今天忽然發現android專案中的文字排版參差不齊的情況非常嚴重,不得不想辦法解決一下。經過研究之後,終於找到了textview自動換行導致混亂的原因了 半形字元與全形字符混亂所致!一般情況下,我們輸入的數字 字母以及英文標點都是半形,所以佔位無法確定。它們與漢字的佔位大大的不同,由於這個原因,導致...