gpt4 book ai didi

c++ - 具体对接框架

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:59 25 4
gpt4 key购买 nike

由于 nDockBarID = AFX_IDW_DOCKBAR_LEFT,现在我的条位于框架上

    ForcesBar* m_forcesBar[3];

for (int i=0; i<3; i++)
{
m_forcesBar[i]->SetBarStyle(m_forcesBar[i]->GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_forcesBar[i]->EnableDocking(CBRS_ALIGN_ANY);
}

pMainFrame->EnableDocking(CBRS_ALIGN_ANY);

pMainFrame->DockControlBar(m_forcesBar[0], AFX_IDW_DOCKBAR_LEFT);
pMainFrame->DockControlBar(m_forcesBar[1], AFX_IDW_DOCKBAR_LEFT);
pMainFrame->DockControlBar(m_forcesBar[2], AFX_IDW_DOCKBAR_LEFT);

enter image description here

虽然我想收到这样的条形组合:

enter image description here

我认为在中使用 lpRect 会很好

void DockControlBar(
CControlBar* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL
);

但不幸的是它不起作用。你能给出制作这种具体的代码示例吗(第二张图片)。

(在项目中我使用 CSizingControlBar http://www.datamekanix.com/sizecbar/manual.html )

最佳答案

我对其进行了测试,使用矩形效果很好。一个区别是,在我的测试应用程序中,我已将 MainFrm.h 中的 m_forcesBar 声明为

ForcesBar m_forcesBar[3]; 

避免在堆上分配并记住内存释放。

我使用的代码(来自 OnCreate 的片段):

    EnableDocking(CBRS_ALIGN_ANY);

m_wndToolBar1.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar2.EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar1);
DockControlBar(&m_wndToolBar2);

CRect rectWnd;
GetClientRect(rectWnd);
ClientToScreen(rectWnd);

for(int iIndx = 0; iIndx < 3; iIndx++)
{
if (!m_forcesBar[iIndx].Create(_T(""), this, 120 + iIndx))
{
TRACE0("Failed to create mybar\n");
return -1; // fail to create
}

m_forcesBar[iIndx].SetBarStyle(m_forcesBar[iIndx].GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);


m_forcesBar[iIndx].EnableDocking(CBRS_ALIGN_LEFT);



DockControlBar(&m_forcesBar[iIndx], AFX_IDW_DOCKBAR_LEFT, rectWnd);


}

就是这样。

关于c++ - 具体对接框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com