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().