CDockablePane,CMFCToolBar设置为禁止拖动

在通过官方引导创建的多文档MFC程序中,会有自动创建相应菜单栏或停靠窗口。

    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
        !m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
    {
        TRACE0("未能创建工具栏\n");
        return -1;      // 未能创建
    }
    // TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行
    m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockPane(&m_wndMenuBar);
    DockPane(&m_wndToolBar);

如上,如果你单看上面的注释 // 如果您不希望工具栏和菜单栏可停靠,请删除这五行

删除这五行,那么结果就是你生成的菜单栏是找不到的。

菜单栏可以自由拖动的好处是在我们需要专注某个区域的时候,将菜单栏拖到其他地方可以扩大你的视野面积,但大部分时候,可以自由拖动会给你带来一些你预料之外的操作,因此设置为禁止拖动,对我们发布的软件,在操作体验上还是可以得到比较好的改善的。

需要设置为禁止拖动,则只需要在上述代码下紧接着加上如下代码即可:

    m_wndMenuBar.SetControlBarStyle(AFX_CBRS_RESIZE);
    m_wndToolBar.SetControlBarStyle(AFX_CBRS_RESIZE);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值