왼쪽 및 오른쪽에 2 개의 자식 창을 가지고 있다는 점에서 창 응용 프로그램을 개발 중입니다. 두 창에 대한 입력 이벤트를 별도로 처리하려고합니다. 어떻게 구현합니까?WTL 자식 창 이벤트 처리
내 코드 :
class EditorWindow : public DxWindow
{
public:
CSplitterWindow m_vSplit;
CPaneContainer m_lPane;
CPaneContainer m_rPane;
PropertyDialog m_propertyWnd;
DECLARE_WND_CLASS(_T("Specific_Class_Name"))
BEGIN_MSG_MAP(EditorWindow)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
MESSAGE_HANDLER(WM_LBUTTONDOWN, KeyHandler)
MESSAGE_HANDLER(WM_KEYUP, KeyHandler)
MESSAGE_HANDLER(WM_LBUTTONDOWN, KeyHandler)
END_MSG_MAP()
LRESULT OnCreate(UINT, WPARAM, LPARAM, BOOL&)
{
CRect rcVert;
GetClientRect(&rcVert);
m_vSplit.Create(m_hWnd, rcVert, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
m_vSplit.SetSplitterPos(rcVert.Width()/1.4f); // from left
m_lPane.Create(m_vSplit.m_hWnd);
m_vSplit.SetSplitterPane(0, m_lPane);
//m_lPane.SetTitle(L"Left Pane");
m_rPane.Create(m_vSplit.m_hWnd);
m_vSplit.SetSplitterPane(1, m_rPane);
m_rPane.SetTitle(L"Properties");
m_propertyWnd.Create(m_rPane.m_hWnd);
//m_vSplit.SetSplitterPane(SPLIT_PANE_LEFT, md.m_hWnd);
return 0;
}
LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
{
PostQuitMessage(0);
bHandled = FALSE;
return 0;
}
LRESULT KeyHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
{
return 0;
}
};