liub1979 发表于 2008-2-28 22:47:00

如何在DockControlBar上面显示一个自定义的对话框

<p>我使用DockControlBar建立了一个停靠的工具栏</p><p>void&nbsp; test()<br/>{<br/>#ifdef OARXWIZDEBUG<br/>&nbsp;acutPrintf ("\nOARXWIZDEBUG - test() called.");<br/>#endif // OARXWIZDEBUG</p><p>&nbsp;// TODO: Implement the command<br/>&nbsp;HWND hWnd = adsw_acadMainWnd();<br/>&nbsp;if(!pDialog.Create(CWnd::FromHandle(hWnd),"Test"))<br/>&nbsp;&nbsp;<br/>&nbsp;{<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;TRACE0("Failed to create toolbar\n");<br/>&nbsp;}</p><p>&nbsp;CRect rect (0, 0, 250, 200);</p><p>&nbsp;pDialog.EnableDocking(CBRS_ALIGN_ANY);<br/>&nbsp;pDialog.DockControlBar(AFX_IDW_DOCKBAR_LEFT,rect);///停靠在左边<br/>&nbsp;<br/>pDialog1.Create ( IDD_DIALOG1, &amp;pDialog);<br/>pDialog1.ShowWindow(SW_SHOW);</p><p>}</p><p>为什么不显示自定义的对话框pDialog1 工具栏上是空的什么也不显示</p><p>pDialog1为CDialog类</p><p>pDialog 为CControlBar类</p><p>在可停靠的工具栏应该怎么显示自定义对话框等</p>

bluelightcsy 发表于 2008-3-1 11:18:00

用CAdUiPaletteSet。从它继承一下,然后里面放Palette,Palette里放Dialog。Dialog最好也从CAD的AdUiDialog继承。看一下例子怎么用吧,这是一个实现类似功能的套路。

liub1979 发表于 2008-3-15 18:36:00

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]
查看完整版本: 如何在DockControlBar上面显示一个自定义的对话框