Вопрос

В моей программе MFC я использую разделитель для создания двух панелей.Теперь я хочу снова разделить одну из этих панелей пополам и представить другое представление. Может ли кто-нибудь рассказать мне, как это сделать, или указать мне направление какого-то кода?

Я бы предпочел написать код самостоятельно, поэтому меня не интересуют пользовательские производные классы, если только они не являются чрезвычайно простыми.

Спасибо!

Это было полезно?

Решение

В CMainFrame::OnCreateClient

// Create splitter with 2 rows and 1 col
m_wndSplitter.CreateStatic(this, 2, 1);
// Create a view in the top row
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CView1), CSize(100, 100), pContext);
// Create a 2 column splitter that will go in the bottom row of the first
m_wndSplitter2.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(1, 0));
// Create views for the bottom splitter
m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CView2), CSize(100, 100), pContext); 
m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CView3), CSize(100, 100), pContext);
...

Другие советы

Я не эксперт в MFC, но не могли бы вы просто вставить разделитель в одну из панелей, созданных с помощью первого разделителя?это то, как мы делаем в winform....

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top