关于窗口的停靠顺序
当我们使用VC6进行debug程序时,会发现debug窗口停靠在底部,并且占用了整个底部空间,此时VC左侧的classview窗口会被挤到debug窗口的上方。
这个现象好像是VC默认的,我现在的程序中也分别增加了右侧和底部停靠窗口,两者的效果与VC进行debug时一样,总是底部的停靠窗口占用了整个底部。但这不是我需要的效果。我想要的是右侧的停靠窗口占用整个右侧,而将底部的停靠窗口向左边挤。
从我的理解,这好像是个顺序问题,目前总是先停放横向的,再停放纵向的,即时我在主窗口中把两个窗口的dock顺序调整了也是一样的效果。哪位知道如何调整才能实现我想要的效果呢?
以下是MainFrame中我的两个控制面板的创建方式:
////////////创建属性浮动窗//////////
m_wndVFloatPanel.Create(this,&m_VFloatPanelDlg,CString("垂直属性面板"),IDD_FLOAT_PANEL,WS_CHILD | WS_VISIBLE | CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_ORIENT_VERT | CBRS_SIZE_DYNAMIC);
m_wndVFloatPanel.EnableDocking(CBRS_ALIGN_LEFT|CBRS_ALIGN_RIGHT);
DockControlBar(&m_wndVFloatPanel,AFX_IDW_DOCKBAR_RIGHT);
ShowControlBar(&m_wndVFloatPanel,FALSE,FALSE);
////////////创建属性浮动窗//////////
m_wndHFloatPanel.Create(this,&m_HFloatPanelDlg,CString("水平属性面板"),IDD_FLOAT_PANEL,WS_CHILD | WS_VISIBLE | CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_ORIENT_HORZ | CBRS_SIZE_DYNAMIC);
m_wndHFloatPanel.EnableDocking(CBRS_ALIGN_BOTTOM|CBRS_ALIGN_TOP);
DockControlBar(&m_wndHFloatPanel,AFX_IDW_DOCKBAR_BOTTOM);
ShowControlBar(&m_wndHFloatPanel,FALSE,FALSE);
我先创建垂直面板,然后停靠右侧,再创建水平面板,然后停靠底部,结果还是底部的优先占用了空间。郁闷啊。
这个现象好像是VC默认的,我现在的程序中也分别增加了右侧和底部停靠窗口,两者的效果与VC进行debug时一样,总是底部的停靠窗口占用了整个底部。但这不是我需要的效果。我想要的是右侧的停靠窗口占用整个右侧,而将底部的停靠窗口向左边挤。
从我的理解,这好像是个顺序问题,目前总是先停放横向的,再停放纵向的,即时我在主窗口中把两个窗口的dock顺序调整了也是一样的效果。哪位知道如何调整才能实现我想要的效果呢?
以下是MainFrame中我的两个控制面板的创建方式:
////////////创建属性浮动窗//////////
m_wndVFloatPanel.Create(this,&m_VFloatPanelDlg,CString("垂直属性面板"),IDD_FLOAT_PANEL,WS_CHILD | WS_VISIBLE | CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_ORIENT_VERT | CBRS_SIZE_DYNAMIC);
m_wndVFloatPanel.EnableDocking(CBRS_ALIGN_LEFT|CBRS_ALIGN_RIGHT);
DockControlBar(&m_wndVFloatPanel,AFX_IDW_DOCKBAR_RIGHT);
ShowControlBar(&m_wndVFloatPanel,FALSE,FALSE);
////////////创建属性浮动窗//////////
m_wndHFloatPanel.Create(this,&m_HFloatPanelDlg,CString("水平属性面板"),IDD_FLOAT_PANEL,WS_CHILD | WS_VISIBLE | CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_ORIENT_HORZ | CBRS_SIZE_DYNAMIC);
m_wndHFloatPanel.EnableDocking(CBRS_ALIGN_BOTTOM|CBRS_ALIGN_TOP);
DockControlBar(&m_wndHFloatPanel,AFX_IDW_DOCKBAR_BOTTOM);
ShowControlBar(&m_wndHFloatPanel,FALSE,FALSE);
我先创建垂直面板,然后停靠右侧,再创建水平面板,然后停靠底部,结果还是底部的优先占用了空间。郁闷啊。
...全文
相关推荐
窗口停靠类-易语言
窗口停靠类
Java Swing停靠窗口框架实战:从InfoNode到Docking Frames
桌面应用开发中,可拖拽、可停靠的窗口面板布局是提升用户体验的关键能力。许多开发者面对这类交互需求时,往往期望通过基础事件监听手工实现,但实际会遭遇命中检测、拆分合并、状态同步等一系列复杂问题。成熟的停靠窗口框架在此时体现出重要价值,它们一般内置了布局树管理、拖拽预览和持久化恢复机制。Java Swing生态中的InfoNode Docking Windows及其演化版本Docking Frames,便是这类能力的典型代表。本文从停靠框架的核心设计理念出发,梳理了Dockable、DockStation、Do
窗口停靠,c# winform
窗口停靠,c# winform
delphi实现像QQ一样 窗口停靠
delphi实现像QQ一样 窗口停靠,可以停在窗口的四边,并会自动隐藏
C# dockpanel窗体停靠控件及类源码
DockPanel支持让元素简单地停靠在整个面板的某一条边上,然后拉伸元素以填满全部宽度或高度。它也支持让一个元素填充其他已停靠元素没有占用的剩余空间。包含了控件及相关类


界面
