回 帖 发 新 帖 刷新版面

主题:sdk下将工具栏在左端显示,有会的吗??

sdk下将工具栏在左端(非顶部)显示,有会的吗??

回复列表 (共5个回复)

沙发

Dialog with Tool Window style.

板凳

我那toolbar 是用CreateToolBarEx()建的,不是用对话框方式的,这个函数好像只能在顶部显示,不知道能不能在底部,还有左端显示?如果不能的话在sdk 下还有什么好一点的方式解决这个问题.

3 楼

这是MFC的源代码
void CFrameWnd::FloatControlBar(CControlBar* pBar, CPoint point, DWORD dwStyle)
{
    ENSURE_ARG(pBar != NULL);

    // if the bar is already floating and the dock bar only contains this
    // bar and same orientation then move the window rather than recreating
    // the frame
    if (pBar->m_pDockSite != NULL && pBar->m_pDockBar != NULL)
    {
        CDockBar* pDockBar = pBar->m_pDockBar;
        ASSERT_KINDOF(CDockBar, pDockBar);
        if (pDockBar->m_bFloating && pDockBar->GetDockedCount() == 1 &&
            (dwStyle & pDockBar->m_dwStyle & CBRS_ALIGN_ANY) != 0)
        {
            CMiniDockFrameWnd* pDockFrame =
                (CMiniDockFrameWnd*)pDockBar->GetParent();
            ENSURE(pDockFrame != NULL);
            ASSERT_KINDOF(CMiniDockFrameWnd, pDockFrame);
            pDockFrame->SetWindowPos(NULL, point.x, point.y, 0, 0,
                SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE);
            pDockFrame->RecalcLayout(TRUE);
            pDockFrame->UpdateWindow();
            return;
        }
    }

    if (pBar->m_dwStyle & CBRS_SIZE_DYNAMIC)
    {
        dwStyle |= CBRS_SIZE_DYNAMIC;
        if (dwStyle & CBRS_ORIENT_VERT)
        {
            dwStyle &= ~CBRS_ALIGN_ANY;
            dwStyle |= CBRS_ALIGN_TOP;
        }
    }

    CMiniDockFrameWnd* pDockFrame = CreateFloatingFrame(dwStyle);
    ENSURE_ARG(pDockFrame != NULL);
    pDockFrame->SetWindowPos(NULL, point.x, point.y, 0, 0,
        SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE);
    if (pDockFrame->m_hWndOwner == NULL)
        pDockFrame->m_hWndOwner = pBar->m_hWnd;

    CDockBar* pDockBar = (CDockBar*)pDockFrame->GetDlgItem(AFX_IDW_DOCKBAR_FLOAT);
    ENSURE_ARG(pDockBar != NULL);
    ASSERT_KINDOF(CDockBar, pDockBar);

    ASSERT(pBar->m_pDockSite == this);
    // if this assertion occurred it is because the parent of pBar was not
    //  initially this CFrameWnd when pBar's OnCreate was called
    // (this control bar should have been created with a different
    //  parent initially)

    pDockBar->DockControlBar(pBar);
    pDockFrame->RecalcLayout(TRUE);
    if (GetWindowLong(pBar->m_hWnd, GWL_STYLE) & WS_VISIBLE)
    {
        pDockFrame->ShowWindow(SW_SHOWNA);
        pDockFrame->UpdateWindow();
    }
}

4 楼

寻找一直寻找机会的人!
一个趋势中的趋势的项目!
一个直销和传销终结者的项目!
一个帮助普通创业者成功的项目!
   我们在互联网上正在拓展一个生意项目,现在正在寻求合作伙伴。我们认为成功的关键是你是什么人?还有你和谁在一起。我们在乎的是--您是否是有激情、有梦想的人。有意者请跟我们联系,我们和您谈谈,给您讲解一些生意概念,或许我们可以合作。一个集即时网游、交友,娱乐游戏,网络品牌代理商城,互联网平台项目招商进行中……详情QQ空间资料 http://user.qzone.qq.com/909065437/infocenter
网商咨询 摩客天宇QQ 909065437 

5 楼

北京法蕾雅竹元诚
空白市场 兆亿商机 第一批卖电脑的发了! 第一批卖手机的发了!! 第一批卖保暖内衣的也发了!!! 抢占先机 您将是第一批卖生态家纺竹纤维产品的人!!!! 法蕾雅生态家纺全国招商咨询QQ294355161 科技之光传访法蕾雅http://player.youku.com/player.php/sid/XMTc2MzY4MjQ0/v.swf

http://blog.sina.com.cn/s/blog_6ca0216a0100n7h9.html
法蕾雅竹纤维的神奇六大功效

我来回复

您尚未登录,请登录后再回复。点此登录或注册