關於介面顯示的Windows API函式

2021-06-29 05:47:48 字數 2528 閱讀 1983

下面是一些關於介面顯示的windows api函式,記錄以下以供查閱

// 獲取螢幕大小(畫素數)

int nscreenwidth = getsystemmetrics(sm_cxscreen);

int nscreenheight = getsystemmetrics(sm_cyscreen);

//取螢幕的大小(畫素數),不包括工作列等

int width = getsystemmetrics(sm_cxfullscreen);

int height = getsystemmetrics(sm_cyfullscreen);

hwnd hwnd = ::findwindow(_t("shell_traywnd"), null); // 雙冒號打頭表示用的是全域性變數;獲得工作列視窗控制代碼

getwindowrect()函式得到的是相對於當前介面的整個視窗左上角的座標,比如乙個對話方塊程式,那就是相對於對話方塊左上角的座標,從左往右是x方向,從上往下是y方向。

注意:這個函式的相對座標原點分兩種情況:

1 視窗還沒有初始化完成時:原點是整個視窗的左上角

2 初始化完成後,原點是裝置螢幕左上角

getclientrect()函式得到的是相對於視窗客戶區左上角的座標。

函式功能:改變指定視窗的位置和大小.對頂視窗來說,位置和大小取決於螢幕的左上角;對子視窗來說,位置和大小取決於父視窗客戶區的左上角.對於owned視窗,位置和大小取決於螢幕左上角.

函式原型:bool movewindow( hwnd hwnd, int x, int y, int nwidth, int nheight, bool brepaint );

引數hwnd指定了視窗的控制代碼

x指定了cwnd的左邊的新位置。

y指定了cwnd的頂部的新位置。

nwidth指定了cwnd的新寬度。

nheight指定了cwnd的新高度。

brepaint指定了是否要重畫cwnd。如果為true,則cwnd象通常那樣在onpaint訊息處理函式中接收到一條

wm_paint訊息。如果這個引數為false,則不會發生任何型別的重畫操作。這應用於客戶區、非客戶區(包括標題條和滾動條)和由於cwnd移動而露出的父視窗的任何部分。當這個引數為false的時候,

應用程式必須明確地使cwnd和父視窗中必須重畫的部分無效或重畫。

setwindowpos函式改變乙個子視窗,彈出式視窗或頂層視窗的尺寸,位置和z序。子視窗,彈出式視窗,及頂層視窗根據它們在

螢幕上出現的順序排序、頂層視窗設定的級別最高,並且被設定為z序的第乙個視窗。

bool setwindowpos(hwn hwnd, const cwnd* pwndinsertafter, int x, int y,int cx, int cy, uint nflags);

簡單的說就是左(left) 上(top) 右(right) 下(bottom)

下面列出其全部過載函式

crect::inflaterect

void inflaterect( int x, int y );

void inflaterect( size size );

void inflaterect( lpcrect lprect );

void inflaterect( int l, int t, int r, int b );

引數:

x 指定擴大crect左和右邊的單位數。

y 指定擴大crect上、下邊的單位數。

size 乙個指定擴大crect的單位數的size或csize。cx值指定擴大左、右邊的單位數,cy指定擴大上、下邊的單位數。

lprect 指向乙個rect結構或crect,指定擴大每一邊的單位數。

l 指定擴大crect左邊的單位數。

t 指定擴大crect上邊的單位數。

r 指定擴大crect右邊的單位數。

b 指定擴大crect下邊的單位數。

crect::deflaterect

void deflaterect( int x, int y );

void deflaterect( size size );

void deflaterect( lpcrect lprect );

void deflaterect( int l, int t, int r, int b );

引數: x 指定縮小crect的左和右邊的單位數。

y 指定縮小crect的上、下邊的單位數。

size 乙個指定縮小crect的單位數的size或csize。cx值指定縮小左、右邊的單位數,cy指定縮小上、下邊的單位數。

lprect 指向乙個rect結構或crect,指定縮小每一邊的單位數。

l 指定縮小crect左邊的單位數。

t 指定縮小crect上邊的單位數。

r 指定縮小crect右邊的單位數。

b 指定縮小crect下邊的單位數。

C 中關於介面實現 顯示實現介面以及繼承

介面以及抽象類 實現類 public inte ce ia public inte ce ib public abstract class d public class c d,ia,ib public override void h t 複製 如果類c繼承了抽象類d,那麼在類c中可以使用overr...

C 介面,顯示實現介面

介面中的成員不能加 訪問修飾符 介面中的成員訪問修飾符為public,不能修改。類中的成員預設的訪問修飾符是private 而介面中預設的訪問修飾符是public 預設為public 介面中的成員不能有任何實現 光說不做 只是定義了一組未實現的成員 顯示實現介面的目的 解決方法的重名問題 什麼時候顯...

顯示實現介面

介面定義了一系列的行為規範,為型別定義一種can do的功能。例如,實現ienumerable介面定義了getenumerator方法,用於獲取乙個列舉數,該列舉數支援在集合上進行迭代,也就是我們常說的foreach。介面只是定義行為,具體的實現需要由具體型別負責,實現介面的方法又分為隱式實現與顯示...