DuiLib(5)——CWindowWnd窗口函數簡介


CWindowWnd中有win32封裝的類似MFC的一些方法

比較常用的如下:

    HWND GetHWND() const;
operator HWND() const;

bool RegisterWindowClass();
bool RegisterSuperclass();

HWND Create(HWND hwndParent, LPCTSTR pstrName, DWORD dwStyle, DWORD dwExStyle, const RECT rc, HMENU hMenu = NULL);
HWND Create(HWND hwndParent, LPCTSTR pstrName, DWORD dwStyle, DWORD dwExStyle, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT, int cx = CW_USEDEFAULT, int cy = CW_USEDEFAULT, HMENU hMenu = NULL);
HWND CreateDuiWindow(HWND hwndParent, LPCTSTR pstrWindowName,DWORD dwStyle =0, DWORD dwExStyle =0);
HWND Subclass(HWND hWnd);
void Unsubclass();
void ShowWindow(bool bShow = true, bool bTakeFocus = true);
UINT ShowModal();
void Close(UINT nRet = IDOK);
void CenterWindow(); // 居中,支持擴展屏幕
void SetIcon(UINT nRes);

一、GetHWND

HWND GetHWND() const;

獲取當前窗口的句柄

二、ShowWindow

void ShowWindow(bool bShow = true, bool bTakeFocus = true);
其實是調用了win32的api函數

::ShowWindow(m_hWnd, bShow ? (bTakeFocus ? SW_SHOWNORMAL : SW_SHOWNOACTIVATE) : SW_HIDE);
來顯示 或 隱藏窗口

三、ShowModal

UINT ShowModal();
源碼中,封裝了消息處理函數。

首先禁用了父窗口,顯示本窗口,開始消息循環。

如果遇到WM_CLOSE消息時,激活父窗口,把焦點從本窗口移到父窗口。(我也不知道父窗口是誰,呵呵)

當遇到WM_QUIT時,徹底退出程序。

四、Close

void Close(UINT nRet = IDOK);
向本窗口發送WM_CLOSE消息。

五、CenterWindow

void CenterWindow();	// 居中,支持擴展屏幕
計算坐標以后,調用系統SetWindowPos函數,使窗口居中顯示

六、SetIcon

void SetIcon(UINT nRes);
對進程發送了WM_SETICON這個消息,分2次設置圖標和小圖標

七、ResizeClient

void ResizeClient(int cx = -1, int cy = -1);
重新設置窗口尺寸大小,寬和高




注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com