首先,你想要在某个窗口做一些事情,你就得让 *** 作系统知道你是在哪一个窗口做这些事情,而窗口的句柄就能起到识别哪一个窗口的作用;获取窗口句柄的方法(或者说是函数)有很多,有的函数是获得当前主窗口的句柄,有的函数获得子窗口的句柄,还有的函数可以获得你指定的那个窗口的句柄,你想获得哪个窗口的句柄就调用相应的函数就可以了; 然后,获得窗口句柄以后,你就可以利用这个窗口句柄做你那些想做的事情了。比如,设置窗口的风格,改变窗口的标题,隐藏这个窗口等等,如果你不知道能做什么,没事,等你实际用到的时候,需要你在某个窗口做事情的时候,你就知道了该做什么事情了。 希望对你有帮助。
用static
窗口变量返回你的窗口指针就好了。
在你的窗口中,设定一个static指针,并在窗口初始化时赋值。
static
CViewTree
m_pTreeView
=
this;
并定义一个static方法,返回这个static指针。
static
CViewTree
ReturnView()
{
return
m_pTreeView;
}
在你的类中,直接获取就好了,但须用IsWindow函数来判定获取的是否是窗口。
CViewTree
m_pView
=
CViewTree::ReturnView();
ASSERT(::IsWindow(m_pView->m_hWnd));
下面是我自己整理的:
23如何访问MFC的指针,句柄
CWND都有指针和句柄
1利用FromHandle将句柄转换为指针返回
CBrush pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));//获得特定画刷画笔字体和画板的句柄
2获取指针GetParent(),GetDesktopWindow
//app中存有其他3类的指针
3利用GetActiveView()等获得当前活动的指针
CMenu2View pView=(CMenu2View)GetActiveView();
// 包含View头文件
4平台SDK GetWindow(hwnd,uCmd)找窗口与之有关系的各个窗口句柄
5获得实例CWINAPP中有
theAppm_hInstance
AfxGetApp()->m_hInstance//全局函数获得实例
AfxGetInstanceHandle();//全局函数获得实例
6CWND::GetDescendantWindow(ID,false)
获取子孙窗口的指针
GetDlgItem()//只有一个参数就是你要获取的子窗口的ID,返回值是一个指向CWnd类的指针.该函数可以根据一个ID号获取一个对应的对象指针,在任何派生自CWnd类的类中都可以使用.如果你非要句柄的话.那就
CWnd pWnd= GetDlgItem(/子窗口ID/);
pWnd->m_HWnd;//得到这个子窗口的句柄
以上就是关于MFC 如何通过子进程句柄获取子窗口句柄全部的内容,包括:MFC 如何通过子进程句柄获取子窗口句柄、mfc如何在非对话框类中获取对话框的句柄、请问大家如何获取各种句柄,各种指针等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)