如何在DockControlBar上面显示一个自定义的对话框
<p>我使用DockControlBar建立了一个停靠的工具栏</p><p>void test()<br/>{<br/>#ifdef OARXWIZDEBUG<br/> acutPrintf ("\nOARXWIZDEBUG - test() called.");<br/>#endif // OARXWIZDEBUG</p><p> // TODO: Implement the command<br/> HWND hWnd = adsw_acadMainWnd();<br/> if(!pDialog.Create(CWnd::FromHandle(hWnd),"Test"))<br/> <br/> {<br/> <br/> TRACE0("Failed to create toolbar\n");<br/> }</p><p> CRect rect (0, 0, 250, 200);</p><p> pDialog.EnableDocking(CBRS_ALIGN_ANY);<br/> pDialog.DockControlBar(AFX_IDW_DOCKBAR_LEFT,rect);///停靠在左边<br/> <br/>pDialog1.Create ( IDD_DIALOG1, &pDialog);<br/>pDialog1.ShowWindow(SW_SHOW);</p><p>}</p><p>为什么不显示自定义的对话框pDialog1 工具栏上是空的什么也不显示</p><p>pDialog1为CDialog类</p><p>pDialog 为CControlBar类</p><p>在可停靠的工具栏应该怎么显示自定义对话框等</p> 用CAdUiPaletteSet。从它继承一下,然后里面放Palette,Palette里放Dialog。Dialog最好也从CAD的AdUiDialog继承。看一下例子怎么用吧,这是一个实现类似功能的套路。 pDialog1为CDialog类pDialog 为CAdUiDockControlBar类
修改了一下代码问题终于解决了
extern CErrorList pDialog1;
extern CModelessDlg pDialog;
void test()
{
#ifdef OARXWIZDEBUG
acutPrintf ("\nOARXWIZDEBUG - test() called.");
#endif // OARXWIZDEBUG
// TODO: Implement the command
HWND hWnd = adsw_acadMainWnd();
if(!pDialog.Create(CWnd::FromHandle(hWnd),"ERRORS"))
{
TRACE0("Failed to create toolbar\n");
}
pDialog1.Create (IDD_DIALOG1, &pDialog);
pDialog1.CenterWindow(&pDialog);
pDialog1.ShowWindow(SW_SHOW);
CRect rect (0, 0, 250, 200);
pDialog.EnableDocking(CBRS_ALIGN_ANY);
pDialog.DockControlBar(AFX_IDW_DOCKBAR_BOTTOM,rect);
}
页:
[1]