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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Win API记录点滴

發(fā)布時間:2024/4/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Win API记录点滴 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

???這里記敘了在Windows下GDI編程的一些函數(shù),用GDI函數(shù)可以有效的控制視窗的顯示。尤其涉及到Windows圖形編程,GDI函數(shù)將非常有用.
???關(guān)于種種函數(shù),在《Windows程序設(shè)計》書中有詳盡的描述,《Windows圖形編程》更是闡述了更高級的圖形編程方面的函數(shù)和使用.
???首先要說明的是:GDI的主要目的是支援與裝置無關(guān)的圖形.圖形的輸出又可分為兩大類,位元圖設(shè)備和向量圖設(shè)備.
???另外,要明白裝置的概念,所謂裝置,打個比方來說,就是畫家作畫的那一套設(shè)備,包括畫板,畫筆,畫夾等.在這里,我們可以把紙當畫板,可以把桌子當畫板等等.裝置的概念也一樣,可以把視窗當裝置,可以把打印機當裝置,可以把投影儀當作裝置.如果可以的話,硬盤,內(nèi)存當作裝置問題也不大.在Windows中,BRUSH,PEN,FONT就相當于你的畫筆,顏料等.屬于裝置的內(nèi)容屬性.

???現(xiàn)在,我們用GDI來在屏幕上作畫,在作畫之前,我們要獲得應(yīng)用程序某個窗口的裝置(因為我們的畫是畫在這個窗口內(nèi)的).

獲得裝置的方法有很多,介紹幾種:
hdc = GetDC (hwnd) ;
其他行程式
ReleaseDC (hwnd, hdc) ;

hdc = GetWindowDC (hwnd) ;
其他行程式
ReleaseDC (hwnd, hdc)

hdc = CreateDC (pszDriver, pszDevice, pszOutput, pData) ;
其他行程式
DeleteDC (hdc) ;

hdcMem = CreateCompatibleDC (hdc) ;
其他行程式
DeleteDC (hdcMem) ;

具體的可參考MSDN和WINDOWS程序設(shè)計.

???裝置的內(nèi)容是取得了,但是我們的裝置(即畫布)有什么樣的特征呢?比如,窗口有多大?有多寬?系統(tǒng)有多少種顏色?這些在作畫時有時需要考慮到.

???取得裝置內(nèi)容的信息,有一個函數(shù):
iValue = GetDeviceCaps(hdc,iIndex);
???查看MSDN可以發(fā)現(xiàn),通過它可以獲得很多的信息,比如,當前的屏幕像素是多少(HORZRES,VERTRES)?,以毫米為單位長寬是多少(HORZSIZE,VERTSIZE),?等等,具體的參數(shù)有MSDN可翻查.


下面介紹的是畫線函數(shù):
LineTo 畫直線。
 
Polyline和PolylineTo 畫一系列相連的直線。
 
PolyPolyline 畫多組相連的線。
 
Arc 畫橢圓線。
 
PolyBezier和PolyBezierTo 畫貝塞爾曲線。

ArcTo和AngleArc 畫橢圓線。
 
PolyDraw 畫一系列相連的線以及貝塞爾曲線。

畫封閉區(qū)域的函數(shù):
Rectangle 畫矩形。
 
Ellipse 畫橢圓。
 
RoundRect 畫帶圓角的矩形。
 
Pie 畫橢圓的一部分,使其看起來像一個扇形。
 
Chord 畫橢圓的一部分,以呈弓形。

?

有些函數(shù)可以輔助我們以便畫出需要的圖形,比如:
GetCurrentPositionEx(hdc,&pt); //獲得目前位置
GetClientRect(hwnd,&rect); //獲得窗口的矩形大小

轉(zhuǎn)載于:https://www.cnblogs.com/shipfi/archive/2007/01/10/617205.html

總結(jié)

以上是生活随笔為你收集整理的Win API记录点滴的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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