描述:
我想将组件上Dialog对话框创建在界面上,对话框创建在工具栏窗口上,作为工具栏窗口的一部分!
我的做法事,将创建工具栏窗口的CWnd * 保存到参数里,传送各组件,
在组件中创建中将对话框窗体创建在CWnd * 上,但是不能创建,
对话框窗口是无模式对话框,
CDlgHander m_dlghander;
pordr_view保存CWnd * 指针
CRect m_rectwindow;
pordr_view->GetClientRect(m_rectwindow);//m_rectwindow的数值能得到
m_dlghander.Create("","",WS_CHILD,m_rectwindow,pordr_view,15000);//创建失败!
如果这种方法不能实现,我现在如何实现!
谢谢!!!!!!!!!!!!!!!!!!!!
解决方案1:
你发一份,简单的代码,调一调,lemo0173@sina.com。
是说,把dialog组件,加载到,toobbar上么。
带界面的组件调用。
顶一顶。
不能直接传CWnd*(对于COM组件这更是严重糟糕,且也不可能通过MIDL编译,将不能享用MIDL自动生成的代理/占位源代码),只能传递HWND以替换CWnd*。上面改为
CDlgHander m_dlghander;
pordr_view保存HWND指针
CWnd *pParent = CWnd::FromHandle( pordr_view );
CRect m_rectwindow;
pParent->GetClientRect( &m_rectwindow );
m_dlghander.Create("","",WS_CHILD,m_rectwindow,pParent,15000);