SetWindowExtEx

SetWindowExtEx

SetWindowExtEx,Windows函式名稱。該函式的作用是以指定的值為設備環境設定視窗的水平的和垂直的範圍。

基本介紹

  • 中文名:設定視窗範圍Windows函式
  • 外文名:SetWindowExtEx
  • 學科領域:Windows程式設計
語法,參數,返回值,參考,

語法

BOOL SetWindowExtEx( __in HDC hdc, __in int nXExtent, __in int nYExtent, __out LPSIZE lpSize);

參數

HDC
設備環境句柄。
nXExtent
以邏輯單位給出的視窗的水平範圍
nYExtent
以邏輯單位給出的視窗的垂直範圍
lpSize[輸出]
一個指向SIZE結構的指針,該結構保存了先前的視窗的範圍,如果lpSize為NULL,那么不返回值

返回值

如果函式調用成功,返回值為非零。
如果函式調用失敗,返回值為零。

參考

如SetWindowExtEx(hDC,600,400,NULL); //設定視窗區域,邏輯坐標 把視窗大小設定為寬(X坐標方向)600 (Y坐標方向)高400 是程式把圖像映像成實物時採用的坐標 是邏輯上的
SetViewportExtEx(hDC,300,200,NULL); //設定視圖區域,物理坐標 把輸出時(程式運行時)看到的界面區域的坐標為寬(X坐標方向)300 高(Y坐標方向)200 是實實在在的300 和200
他們的聯繫是他們的坐標原點都是程式運行時視窗的左上角 他們的區域大小也是相同的(重合的 就像兩張大小相同的畫布重疊在一起)只是各自的坐標不同罷了 即一個點在兩個坐標系中的x,y參數大小不同 但他們彼此之間的比列是相同的
而且還要注意SetViewportExtEx就相當於在程式的視窗上從左上角開始畫一個(我的例子是300 和200)區域 若不進行設定 則視口區域就等於應用程式視窗大小
用GetWindowExtEx與GetViewportExtEx看一下原值,全是1,感覺SetWindowExtEx與SetViewportExtEx只設定了視窗(邏輯坐標)與視口(設備坐標)的比值。如上,SetWindowExtEx(hDC,600,400,NULL);SetViewportExtEx(hDC,300,200,NULL);只是把兩個邏輯映射成為一個物理單位。視窗大小超過(600,400),且做圖也超過(600,400)時,依然能顯示。當視窗小於(600,400)且在視窗外與(600,400)之間做圖,依然不顯示。所以感覺SetWindowExtEx與SetViewportExtEx只設定了一個比較,而不是真正視窗與視口的大小。 望高手指正!
SetWindowExtEx(hDC,600,400,NULL);設定視窗區域 為 600*400個單位;
SetViewportExtEx(hDC,300,200,NULL); 設定視圖區域 為300*200個單位,視圖區域是視窗區域的一半,即在視窗中顯示的內容 是視窗原內容的一半,這樣就實現了原圖的放大,就像作圖工具中的放大小效果。視窗區域不變時,視圖區域越小,就能看到更詳細的圖像細節。

相關詞條

熱門詞條

聯絡我們