1. 程式人生 > >DrawText中的自動換行功能

DrawText中的自動換行功能

使用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格式化,否則其餘的格式都認為正文有多行。