該函式在指定的矩形里寫入格式化的正文,根據指定的方法對正文格式化(擴展的制表符,字元對齊、折行等)。
基本介紹
- 中文名:DrawText
- 字元串的長度:int nCount,
- 描述表句柄:HDC hDC
- 繪製選項:UINT uFormat
內涵,函式原型,參數,目的,功能,返回值,速查,備註,其他,
內涵
函式原型
int DrawText(
HDC hDC, // 設備描述表句柄
LPCTSTR lpString, // 將要繪製的字元串
int nCount, // 字元串的長度
LPRECT lpRect, // 指向矩形結構RECT的指針
UINT uFormat // 正文的繪製選項
);
參數
hdc:
[輸入]設備環境句柄。
lpString:
[輸入]指向將被寫入的字元串的指針,如果參數nCount是-1,則字元串必須是以\0結束的。 如果uFormat包含DT_MODIFYSTRING,則函式可為此字元串增加4個字元,存放字元串的緩衝區必須足夠大,能容納附加的字元。
nCount:
[輸入]指向字元串中的字元數。如果nCount為-1,則lpString指向的字元串被認為是以\0結束的,DrawText會自動計算字元數。
lpRect:
[輸入/輸出]指向結構RECT的指針,其中包含文本將被置於其中的矩形的信息(按邏輯坐標)。
uFormat:
[輸入]指定格式化文本的方法。它可以下列值的任意組合,各值描述如下:
DT_CALCRECT:這個參數比較重要,可以使DrawText函式計算出輸出文本的尺寸。如果輸出文本有多行,DrawText函式使用lpRect定義的矩形的寬度,並擴展矩形的底部以容納輸出文本的最後一行。如果輸出文本只有一行,則DrawText函式改變矩形的右邊界,以容納下正文行的最後一個字元。出現上述任何一種情況,DrawText函式將返回格式化文本的高度,而不是繪製文本。
DT_CENTER:指定文本水平居中顯示。
DT_VCENTER:指定文本垂直居中顯示。該標記只在單行文本輸出時有效,所以它必須與DT_SINGLELINE結合使用。
DT_SINGLELINE:單行顯示文本,回車和換行符都不斷行。
目的
功能
該函式的功能是在指定的矩形里寫入格式化文本,根據指定的方法對文本格式化(擴展的制表符,字元對齊、折行等)
要指定額外的格式化選項,請使用DrawTextEx函式。
返回值
如果函式調用成功,返回值是正文的高度(邏輯單位)。如果指定了DT_VCENTER或DT_BOTTOM,返回值是lpRect->top到繪製的正文的底部的偏移值。
如果函式調用失敗,返回值是0
Windows NT:若想獲得更多錯誤信息,請調用GetLastError函式。
速查
Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭檔案:wingdi.h;庫檔案:gdi32.lib;Unicode:在Windows NT環境下以Unicode和ANSI兩種方式實現。
備註
函式DrawText用設備環境中的字型選擇、正文顏色和背景顏色來寫正文。DrawText裁剪正文,不會出現在指定矩形的外面,除非指定了DT_NOCLIP。除非使用DT_SINGLELINE格式化,否則其餘的格式都認為正文有多行。
如果選擇的字型對指定的矩形而言太大,DrawText不會試圖去換成一種小字型。
DrawText支持縱和方向均為0的字型。
設備環境的正文對齊方式必須包括TA_LEFT, TA_TOP和TA_NOUPDATECP標誌。
Windows CE:如果為參數uFormat指定DT_CALCRECT值,必須為lpRect指向的RECT結構設定right和bottom成員。Windows CE不支持uFormat為DT_EXTERNALLEADING。
其他
K線圖:
格式:drawtext(條件表達式子,位置,‘文字’);
含義:當條件滿足時,在指定的位置顯示需提示的漢字;
編寫時注意事項:位置要與價格相適應,如果價格在5000,那么位置處用50是顯示不出文字的;
文字前後的標點是英文狀態下輸入的,不能用中文狀態輸入。