WTL CSplitterWindow не может создать более 3 экземпляров?

Я использую WTL для создания окна, содержащего много разделенных панелей. Следующим будет результат.

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

Там будет 4 сплиттера, три вертикальных и горизонтальный.

Я следовал за замечательной статьей: http://www.codeproject.com/KB/wtl/wtl4mfc7.aspx. Но я могу добавить только 3 сплиттера, как показано ниже.

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

Я пробовал много способов, но все еще не могу добавить последний. Это ошибка WTL? Кто-нибудь может мне помочь?

С наилучшими пожеланиями, Зак @ Шайн

1 ответ

В чем твоя проблема? Это ошибка компиляции, ASSERT времени выполнения, что-то еще?

Я настоятельно рекомендую вам получить свой CMainFrame из CSplitFrameWindowImpl<>;;.

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

Правая панель (включая все панели "2") должна быть получена из CSplitterWindowImpl<CPane2, false>правая верхняя панель (включая все панели "2T") должна быть получена из CSplitterWindowImpl<CPane2T, true> а также правый нижний.

Каждая разделенная панель должна быть создана в обработчике OnCreate() своего родителя, а дочерние - в своем собственном OnCreate().

Другие вопросы по тегам