WTL CSplitterWindow不能创建3个以上的实例?

时间:2010-03-21 08:51:32

标签: c++ wtl

我正在使用WTL创建一个包含许多分割窗格的窗口。以下是结果。

---------------------------
|     |         |         |
|     |         |         |
|     |         |         |
|     |--------------------
|     |      |            |
|     |      |            |
---------------------------

将有4个分离器,三个垂直分离器和一个水平分离器。

我遵循了伟大的文章:http://www.codeproject.com/KB/wtl/wtl4mfc7.aspx。 但我只能添加3个分割器,如下所示。

---------------------------
|     |         |         |
|     |         |         |
|     |         |         |
|     |--------------------
|     |                   |
|     |                   |
---------------------------

我尝试了很多方法,但仍然无法添加最后一个。 是WTL的错误吗?有人能帮助我吗?

祝你好运, 扎克@闪耀

1 个答案:

答案 0 :(得分:4)

你有什么问题?它是编译错误,运行时ASSERT还是别的什么?

我强烈建议您从CSplitFrameWindowImpl<>派生您的CMainFrame。

--------------------------- 
|     |         |         | 
|     |   2TL   |  2TR    | 
|  1L |         |         | 
|     |-------------------- 
|     |  2BL |    2BR     | 
|     |      |            | 
--------------------------- 

右侧窗格(包括所有“2”窗格)应来自CSplitterWindowImpl<CPane2, false>,右上方窗格(包括所有“2T”窗格)应来自CSplitterWindowImpl<CPane2T, true>以及右下方窗格

每个拆分窗格都应该在它的父窗口的OnCreate()处理程序中创建,并在它自己的OnCreate()中创建它的子窗口。