при создании этого окна нет ни сплиттера ни панелей. что я делаю не так?
#pragma once
#include "top_view.h"
#include "bottom_view.h"
class first_pane : public ATL::CWindowImpl<first_pane>
{
private:
CSplitterWindow m_splitHorizonal;
CPaneContainer m_paneTop;
CPaneContainer m_paneBottom;
top_view m_viewTop;
bottom_view m_viewBottom;
public:
enum { WM_POSTCREATE = WM_APP + 1 };
DECLARE_WND_CLASS(L"first_pane")
first_pane() { }
~first_pane() { }
BOOL PreTranslateMessage(MSG* pMsg) { return FALSE; }
BEGIN_MSG_MAP(first_pane)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_POSTCREATE, OnPostCreate)
END_MSG_MAP()
// Handler prototypes (uncomment arguments if needed):
// LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
// LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
// LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
m_splitHorizonal.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
m_paneTop.Create(m_splitHorizonal, L"Исходные данные");
m_viewTop.Create(m_paneTop, rcDefault, NULL
, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN
| LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE);
m_paneTop.SetClient(m_viewTop);
m_paneBottom.Create(m_splitHorizonal, L"Исходные данные");
m_viewBottom.Create(m_paneBottom, rcDefault, NULL
, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN
| LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE);
m_paneBottom.SetClient(m_viewBottom);
m_splitHorizonal.SetSplitterPanes(m_paneTop, m_paneBottom);
PostMessage(WM_POSTCREATE);
return 0;
}
LRESULT OnPostCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
m_splitHorizonal.SetSplitterPos(100);
return 0;
}
};