百鬼夜行天 发表于 2023-8-12 13:30:50

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

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);

它会对自动给自己发送的
页: [1]
查看完整版本: MFC小技巧之获取对话框句柄对话框指针