mfc如何在非对话框类中获取对话框的句柄
1.程序中有一个后台运行线程,与界面无关,作用是实时刷新一些数据,然后将数据传给界面显示。2.但现在我要往显示数据的对话框发消息(该对话框是嵌入在容器中,没有标题栏),通...
1.程序中有一个后台运行线程,与界面无关,作用是实时刷新一些数据,然后将数据传给界面显示。
2.但现在我要往显示数据的对话框发消息(该对话框是嵌入在容器中,没有标题栏),通知该对话框有新的数据产生。请问如何获取这个对话框句柄,不然发不了消息给它。我试了N种方法都不行。 展开
2.但现在我要往显示数据的对话框发消息(该对话框是嵌入在容器中,没有标题栏),通知该对话框有新的数据产生。请问如何获取这个对话框句柄,不然发不了消息给它。我试了N种方法都不行。 展开
3个回答
展开全部
用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));
在你的窗口中,设定一个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));
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询