GDI(圖形設備接口)編程(二)TextOut

TextOut是顯示文本最重要的GDI函數。TextOut是一種兼容的寫法定義了UNICODE時表示TextOutW,否則表示TextOutA。

以TextOutA爲例,函數原型如下:

BOOL  WINAPI TextOutA(HDC hdc, int x, int y, LPCSTR psText, int iLength);
第一個參數是一個設備環境句柄,設備環境中的屬性決定了文本顯示的特性。設備環境中的一個屬性,決定了文本的顏色,默認是黑色。設備環境同時默認文字背景爲白色。

當程序輸出文本時,Windows將使用這個背景色填充每個字符的周邊矩形區域(我們稱之爲字符框)。

參數psText一個指向字符串的指針,而iLength指字符串的長度。字符串中不應該有任何的ACSII控制字符,例如回車、換行符、製表符或者退格符。Windows將這些控制字符顯示爲空心或者實心方塊。TextOut並不認爲字符串末尾的0字節(對UNICODE來說是0雙字節)表示字符串結束,它利用iLength參數來決定字符串的長度。

參數x,y決定輸出字符串在客戶區的位置。x水平位置,y垂直位置。在類似於TextOut的GDI繪圖函數中,傳遞給繪圖函數的座標被稱爲“邏輯座標”。Windows有各種映射模式

決定GDI繪圖函數的邏輯座標怎樣轉換成顯示器上的物理像素座標。在默認的MM_TEXT中,邏輯座標和物理座標的單位都是像素。

在調用TextOut時,Window將不會顯示字符串掉落在設備環境維護的裁剪區以外的部分。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章