下面是一些關於介面顯示的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。介面只是定義行為,具體的實現需要由具體型別負責,實現介面的方法又分為隱式實現與顯示...