mfc 小技巧之 获取对话框句柄 对话框指针

1、CWnd *pWnd   =  AfxGetMainWnd();

获取主对话框指针;

获取住对话狂句柄

HWND hHwnd = pWnd->m_hWnd;

 

父窗口法:GetParent();

 

在类的成员函数

中如果使用与MFC类库相同名的SDK API 则需在函数名前添加::

::作用将作用域改为全局。


2、

每个窗口类都有一m_hWnd的成员变量,对话框也不例外。

要想在程序运行时,给对话框发送一特定消息,可以直接使用:::SendMessage(m_hWnd,WM_COMMAND,ID_RESET,0); 

当然,还有一种通杀的方法,使用全局函数FindWindow()

例如,还是给对话框发送一个特定消息,就可以用下面的方法:

HWND   hwnd; 
hwnd   =   ::FindWindow(NULL, "对话框 "); //把“对话框”换成特定的标题即可

::SendMessage(hwnd,WM_COMMAND,ID_RESET,0); 

还可以让该对话框隐藏:

 ::ShowWindow(hwnd,   SW_HIDE);

如果只是单纯的给对话框自己发送特定消息,没必要使用全局函数,MFC封装了的,直接使用以下语句即可:

SendMessage(WM_COMMAND,ID_RESET,0); 

它会对自动给自己发送的

你可能感兴趣的:(api,command,null,mfc)