日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

gdi 编程c语言pdf,二、Windows编程GDI—TextOut细节

發(fā)布時間:2023/12/15 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gdi 编程c语言pdf,二、Windows编程GDI—TextOut细节 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TextOut是用于顯示文字的最常用的GDI函數(shù)。語法是:

TextOut (hdc, x, y, psText, iLength) ;

以下將詳細(xì)地討論這個函數(shù)。

第一個參數(shù)是設(shè)備內(nèi)容句柄,它既可以是GetDC的傳回值,也可以是在處理WM_PAINT消息時BeginPaint的傳回值。

設(shè)備內(nèi)容的屬性控制了被顯示的字符串的特征。例如,設(shè)備內(nèi)容中有一個屬性指定文字顏色,內(nèi)定顏色為黑色;內(nèi)定設(shè)備內(nèi)容還定義了白色的背景。在程序向顯示器輸出文字時,Windows使用這個背景色來填入字符周圍的矩形空間(稱為「字符框」)。

該文字背景色與定義窗口類別時設(shè)置的背景并不相同。窗口類別中的背景是一個畫刷,它是一種純色或者非純色組成的畫刷,Windows用它來擦除顯示區(qū)域,它不是設(shè)備內(nèi)容結(jié)構(gòu)的一部分。在定義窗口類別結(jié)構(gòu)時,大多數(shù)Windows應(yīng)用程序使用WHITE_BRUSH,以便內(nèi)定設(shè)備內(nèi)容中的內(nèi)定文字背景顏色與Windows用以擦除顯示區(qū)域背景的畫刷顏色相同。

psText參數(shù)是指向字符串的指針,iLength是字符串中字符的個數(shù)。如果psText指向Unicode字符串,則字符串中的字節(jié)數(shù)就是iLength值的兩倍。字符串中不能包含任何ASCII控制字符(如回車、換行、制表或退格),Windows會將這些控制字符顯示為實心塊。Text0ut不識別作為字符串結(jié)束標(biāo)志的內(nèi)容為零的字節(jié)(對于Unicode,是一個短整數(shù)型態(tài)的0),而需要由nLength參數(shù)指明長度。

TextOut中的x和y定義顯示區(qū)域內(nèi)字符串的開始位置,x是水平位置,y是垂直位置。字符串中第一個字符的左上角位于坐標(biāo)點(x,y)。在內(nèi)定的設(shè)備內(nèi)容中,原點(x和y均為0的點)是顯示區(qū)域的左上角。如果在TextOut中將x和y設(shè)為0,則將從顯示區(qū)域左上角開始輸出字符串。

當(dāng)您閱讀GDI繪圖函數(shù)(例如TextOut)的文件時,就會發(fā)現(xiàn)傳遞給函數(shù)的坐標(biāo)常常被稱為「邏輯坐標(biāo)」。在第五章會詳細(xì)地解釋這種情況。現(xiàn)在請注意,Windows有許多「坐標(biāo)映像方式」,它們用來控制GDI函數(shù)指定的邏輯坐標(biāo)轉(zhuǎn)換為顯示器的實際圖素坐標(biāo)的方式。映像方式在設(shè)備內(nèi)容中定義,內(nèi)定映像方式是MM_TEXT(使用WINGDI.H中定義的標(biāo)識符)。在MM_TEXT映像方式下,邏輯單位與實際單位相同,都是圖素;x的值從左向右遞增,y的值從上向下遞增(參看圖4-2)。MM_TEXT坐標(biāo)系與Windows在PAINTSTRUCT結(jié)構(gòu)中定義無效矩形時使用的坐標(biāo)系相同,這為我們帶來了很多方便(但是,其它映像方式并非如此)。

設(shè)備內(nèi)容也定義了一個剪裁區(qū)域。您已經(jīng)看到,對于從GetDC取得的設(shè)備內(nèi)容句柄,內(nèi)定剪裁區(qū)域是整個顯示區(qū)域;而對于從BeginPaint取得的設(shè)備內(nèi)容句柄,則為無效區(qū)域。Windows不會在剪裁區(qū)域之外的任何位置顯示字符串。如果一個字符有一部分在剪裁區(qū)域外,則Windows將只顯示此區(qū)域內(nèi)的那部分。要想將輸出寫到窗口的顯示區(qū)域之外不是那么容易的,所以不用擔(dān)心會無意間出現(xiàn)這種事情。

總結(jié)

以上是生活随笔為你收集整理的gdi 编程c语言pdf,二、Windows编程GDI—TextOut细节的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。