CenterWindow()的用法
生活随笔
收集整理的這篇文章主要介紹了
CenterWindow()的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CenterWindow()的用法為:
void CenterWindow( CWnd* pAlternateOwner = NULL );
其中參數pAlternateOwner指向所想居中的窗口的指針。
然后利用函數GetSystemMetrics( int nIndex )得到系統當前設置如屏幕分辨率等。
nIndexs= SM_CXSCREEN 時函數返回屏幕的寬度;返回值單位為像素點。
nIndexs= SM_CYSCREEN 時函數返回屏幕的高度;返回值單位為像素點。
函數BOOL GetWindowPlacement( WINDOWPLACEMENT* lpwndpl ) 是最重要的。他的參數為一個指向結構變量WINDOWPLACEMENT的指針(lpwndpl);其中WINDOWPLACEMENT結構變量數據結構具體為:
typedef struct tagWINDOWPLACEMENT { /* wndpl */
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
他包含了窗口在屏幕上的定位信息。其中成員變量的含義為:
length:指結構變量的長度,單位字節。
flags: 標志值,控制窗口最小化或窗口還原的方法,可以取如下值:
WPF_SETMINPOSITION:指定窗口最小化時的x位置和y位置。
WPF_RESTORETOMAXIMIZED:指定窗口以最大化方式還原,盡管可能窗口并不是在最大化時最小化的。不改變窗口的缺省還原方式。
showCmd:指定窗口的當前顯示狀態。可以取值:
SW_HIDE:隱藏窗口并激活另一窗口。
SW_MINIMIZE:最小化指定窗口并激活系統窗口列表中最頂層窗口。
SW_RESTORE:激活并顯示窗口,如果窗口處于最小化或最大化狀態,則窗口還原到原始大小和位置。
SW_SHOW:以窗口的當前大小和位置激活并顯示窗口。
SW_SHOWMAXIMIZED:以最大化方式激活并顯示窗口。
SW_SHOWMINIMIZED:以圖標方式激活并顯示窗口。
SW_SHOWMINNOACTIVE:以圖標方式窗口。 但不改變窗口的活動狀態。
SW_SHOWNA:以窗口的當前狀態顯示窗口。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和位置顯示窗口。 但不改變窗口的活 動狀態。
SW_SHOWNORMAL:激活并顯示窗口。如果窗口被最大化或最小化,則窗口還原到原始大小和位置。
ptMinPosition:指定窗口最小化時的左傷角坐標。
ptMaxPosition:指定窗口最大化時的左傷角坐標。
rcNormalPosition:指定窗口在還原時的坐標。
通過靈活使用函數GetWindowPlacement()就可以得到窗口的配置信息。
看到這,可能有些讀者已經想到了GetWindowPlacement()函數的姐妹函數SetWindowPlacement(),不用多說,其用法如下:
BOOL SetWindowPlacement( WINDOWPLACEMENT* lpwndpl );
顯然,通過函數SetWindowPlacement(),再加以簡單的計算,我們就可以來設置窗口的位置、大小以及狀態等,從而可以自如地控制窗口顯示與否以及窗口的大小、位置等
void CenterWindow( CWnd* pAlternateOwner = NULL );
其中參數pAlternateOwner指向所想居中的窗口的指針。
然后利用函數GetSystemMetrics( int nIndex )得到系統當前設置如屏幕分辨率等。
nIndexs= SM_CXSCREEN 時函數返回屏幕的寬度;返回值單位為像素點。
nIndexs= SM_CYSCREEN 時函數返回屏幕的高度;返回值單位為像素點。
函數BOOL GetWindowPlacement( WINDOWPLACEMENT* lpwndpl ) 是最重要的。他的參數為一個指向結構變量WINDOWPLACEMENT的指針(lpwndpl);其中WINDOWPLACEMENT結構變量數據結構具體為:
typedef struct tagWINDOWPLACEMENT { /* wndpl */
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
他包含了窗口在屏幕上的定位信息。其中成員變量的含義為:
length:指結構變量的長度,單位字節。
flags: 標志值,控制窗口最小化或窗口還原的方法,可以取如下值:
WPF_SETMINPOSITION:指定窗口最小化時的x位置和y位置。
WPF_RESTORETOMAXIMIZED:指定窗口以最大化方式還原,盡管可能窗口并不是在最大化時最小化的。不改變窗口的缺省還原方式。
showCmd:指定窗口的當前顯示狀態。可以取值:
SW_HIDE:隱藏窗口并激活另一窗口。
SW_MINIMIZE:最小化指定窗口并激活系統窗口列表中最頂層窗口。
SW_RESTORE:激活并顯示窗口,如果窗口處于最小化或最大化狀態,則窗口還原到原始大小和位置。
SW_SHOW:以窗口的當前大小和位置激活并顯示窗口。
SW_SHOWMAXIMIZED:以最大化方式激活并顯示窗口。
SW_SHOWMINIMIZED:以圖標方式激活并顯示窗口。
SW_SHOWMINNOACTIVE:以圖標方式窗口。 但不改變窗口的活動狀態。
SW_SHOWNA:以窗口的當前狀態顯示窗口。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和位置顯示窗口。 但不改變窗口的活 動狀態。
SW_SHOWNORMAL:激活并顯示窗口。如果窗口被最大化或最小化,則窗口還原到原始大小和位置。
ptMinPosition:指定窗口最小化時的左傷角坐標。
ptMaxPosition:指定窗口最大化時的左傷角坐標。
rcNormalPosition:指定窗口在還原時的坐標。
通過靈活使用函數GetWindowPlacement()就可以得到窗口的配置信息。
看到這,可能有些讀者已經想到了GetWindowPlacement()函數的姐妹函數SetWindowPlacement(),不用多說,其用法如下:
BOOL SetWindowPlacement( WINDOWPLACEMENT* lpwndpl );
顯然,通過函數SetWindowPlacement(),再加以簡單的計算,我們就可以來設置窗口的位置、大小以及狀態等,從而可以自如地控制窗口顯示與否以及窗口的大小、位置等
轉載于:https://www.cnblogs.com/fwycmengsoft/archive/2013/04/08/3007401.html
總結
以上是生活随笔為你收集整理的CenterWindow()的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET MVC学习资料 新增几个
- 下一篇: 线程同步之经典生产者-消费者模型