返回首页

{S0}简介
这个控制是必要的分区的对话框,你的程序的窗口由几个部分主要或儿童。您可以适当的窗口,每个部分SplitterCtrl将管理。因此,我们将得到与控制矩阵。 SplitterCtrl是从CWnd派生的,是基于MFC的一个共同控制。一般来说,SplitterCtrl是CSplitterWnd的类似,但它更容易使用。例如,您可以创建一个复杂的的矩阵。对于这个成一个或多个单元格有必要把相同的SplitterCtrl零件上的鸿沟。
控制可以使用其尺寸的变化细胞的缩放大小。在这种情况下,矩阵绑定到四个角度的父母窗口之一是可能的。此外,您还可以使用动态或静态的边界之间的窗口和更拉鼠标。使用代码
控制包括4类:
类说明
SplitterCtrlBase
基类。包括所有的基本功能,但它不会自行绘制。
SplitterCtrl
来自SplitterCtrlBase。此外,它是来自ISplitterCtrlRecalc和SplitterCtrlDraw类尺寸零件的校正,分别绘制控制。
ISplitterCtrlRecalc
这个类,使人们有可能控制部分的大小分配。对于使用从ISplitterCtrlRecalc继承,并实现其职能。另外,在类的构造函数,它是要呼叫的ISplitterCtrlRecalc对象的指针SetRecalcManager功能。
SplitterCtrlDraw
这个类,它可以绘制控件。您可以自己绘制你的窗口。为此,从SplitterCtrlDraw继承,并实现其职能。另外,在类的构造函数,它是要呼叫的SplitterCtrlDraw对象的指针SetDrawManager功能。
控制和添加元素,执行下列操作:
,您可以作为一个正常的矩阵管理控制,动态插入和删除行和列(AddRow / AddColumn,InsertRow / InsertColumn DeleteRow / DeleteColumn)。控制,使得有可能分配的大小(SetWidthForStatic / SetHeightForStatic,SetWidthForDynamic / SetHeightForDynamic),也平衡细胞(SetEqualWidthColumns / SetEqualHeightRows)的宽度和高度。预计控制调用Update功能显示,功能InsertRow,DeleteColumn,SetHeightForStatic,SetWidthsForDynamic等设置的结果
控制是能够保存和加载其状态从注册表或其他来源(LoadState的/即时存档)。这是可能性之一。要得到充分的权力,看SplitterCtrlBase和SplitterCtrl类开放接口。
祝你好运:-)

回答

评论会员:游客 时间:2011/12/28
会员440824|很好的控制
会员4542445
评论会员:游客 时间:2011/12/28
您的控制做了所有我期望从MFC做很容易使用。我有Java的分配器trued也只是酷.........{BR}
会员4605034
评论会员:游客 时间:2011/12/28
喜奥列格,正是我一直在寻找你分配器。感谢了很多。备注。在头的"使用命名空间"是有点恼人虽然
。基思文森
评论会员:游客 时间:2011/12/28
不挑剔。但我注意到,在分离器的外观,可以改善。当两个分离器交叉垂直分割,水平分割的顶部是明确的。如果你照顾,以改善控制的外观,尝试混合两者结合起来,他们跨...保持良好的工作...基思
Borodenko奥列格
评论会员:游客 时间:2011/12/28
你提到自定义的绘图功能,但不枚举如何完成,将在您的文章,并没有突出的部分看代码(有一个调整和结构的接口绘制,我简要介绍一下在样品中派生)。我相信的文章将有更多的一拳,如果你扩大中央的差异和优势,甚至可能通过"替换这个自定义控件CSplitterWnd的"走了。我没有运行演示和足够的好奇心,看的更深一些。我喜欢的文章,以协助我的评价。它持有的承诺-请扩大的文章
。Andreone
评论会员:游客 时间:2011/12/28
我写了这么小文章的唯一原因是我在英语的技能,并因此,我试图做的很好的例子。最主要的,我想其他人的兴趣。但我同意你,很快,我会尽量使文章更加完整和有用的