我有一个 MDI 程序,现在要设计两个浮动的控件栏(control bar), 类似于VisualC++ 6.0 的WorkSpace 和 Output 的浮动栏.我希望初始化的时候,下面的Output 浮动栏不要像 VisualC++6.0 似的整个“趴”下来,我希望他能和WorkSpace一样宽,并列地站在左边!(类似于 微软的 Outlook Express 中,左边的文件夹和联系人浮动框)。我现在的问题是:程序运行后,初始化时,两个浮动框的初始化位置不对,(下面的总是“完全趴”着)不能实现我希望的样子(上面已述)。以下是我的部分源代码
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
CRect rectUpper, rectDown;//这是我定义好的用来初始化浮动框的位置(Debug 后,没有问题)
CUpperBar m_wndUpperBar;
CDownBar m_wndDownBar;//这是两个定义好的浮动框类变量;
....
//创建m_wndUpperBar
m_wndUpperBar.SetSizeDockStyle(SZBARF_NOCAPTION);
if(!m_wndUpperBar.Create(this,_T(""),NULL,rectUpper))
{
TRACE0(_T("CMainFrame::OnCreate: failed to create UpperBar Bar\n"));
return -1;
}
m_wndUpperBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndUpperBar,AFX_IDW_DOCKBAR_LEFT,rectUpper); //创建DownBar
m_wndDownBar.SetSizeDockStyle(SZBARF_NOCAPTION);
if(!m_wndDownBar.Create(this,_T(""),NULL,rectDown))
{
TRACE0(_T("CMainFrame::OnCreate: failed to create Down Bar\n"));
return -1;
}
m_wndDownBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndDownBar,AFX_IDW_DOCKBAR_BOTTOM,rectDown);
....
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
CRect rectUpper, rectDown;//这是我定义好的用来初始化浮动框的位置(Debug 后,没有问题)
CUpperBar m_wndUpperBar;
CDownBar m_wndDownBar;//这是两个定义好的浮动框类变量;
....
//创建m_wndUpperBar
m_wndUpperBar.SetSizeDockStyle(SZBARF_NOCAPTION);
if(!m_wndUpperBar.Create(this,_T(""),NULL,rectUpper))
{
TRACE0(_T("CMainFrame::OnCreate: failed to create UpperBar Bar\n"));
return -1;
}
m_wndUpperBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndUpperBar,AFX_IDW_DOCKBAR_LEFT,rectUpper); //创建DownBar
m_wndDownBar.SetSizeDockStyle(SZBARF_NOCAPTION);
if(!m_wndDownBar.Create(this,_T(""),NULL,rectDown))
{
TRACE0(_T("CMainFrame::OnCreate: failed to create Down Bar\n"));
return -1;
}
m_wndDownBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndDownBar,AFX_IDW_DOCKBAR_BOTTOM,rectDown);
....
}
解决方案 »
- 求Microsoft.Visual.Studio.2005.Express 英文 企业版
- 文本处理的一个问题
- 请教关于播放wave和mp3的问题?
- 第一次放分,庆祝CSDN成功恢复,大家都来接分啊!
- (急)如何在VIEW上获取某一点的颜色?
- 小弟最近用mdi形式做个ie浏览器,但是发现在网站弹出新窗口的时候不能像ie那样自动适用那些窗口的大小,例如popup窗口,请问如何解决?
- 关于SetWaitableTimer等的问题
- 过节啦,发红包啦,每人10分,多贴无效,快来抢呀.
- 求助:如何给一个显示控件加一个右键菜单,在线等
- 跪求大牛指导如何获取一个窗口中的资源
- 一个平台移植的问题?急,求大家了!指教!要多少给多少,我全给了!求求高人了
- SDK编程 TrackPopupMenu的问题
//
DockControlBar(&m_wndUpperBar,AFX_IDW_DOCKBAR_LEFT,rectUpper);
DockControlBar(&m_wndDownBar,AFX_IDW_DOCKBAR_BOTTOM,rectDown);
你先建立CDownBar,定位,然后再建立CUpperBar,定位
放在下面是不成的了
用CControlBar我帮不上你
给我发个邮箱,我寄给你例子?