Добрый день.
Подскажите почему у меня не получается создать дочерние окна внутри CHorSplitterWindow.
Последовательность действий:
1) Наследую CHorSplitterWindow и в OnCreate пытаюсь создать CListViewCtrl с флагом child.
2) Создаю класс унаследованный от CHorSplitterWindow с флагом overlapped_window и вижу ошибку при создании контролла в OnCreate. Ошибка в CWindow::SendMessage(atlwin.h)
Вот части кода.
CDebugConsole
: public CHorSplitterWindow
...
WTL::CListViewCtrl m_hwndList;
...
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
m_hwndDetails.Create(*this, rcDefault, NULL
, WS_CHILDWINDOW | WS_VISIBLE | ES_MULTILINE | ES_READONLY, WS_EX_CLIENTEDGE);
CDebugConsole m_console;
m_console.Create(::GetDesktopWindow(), rect, NULL, WS_OVERLAPPEDWINDOW | WS_VISIBLE);
Вот это не работает. Почему я не могу создать child окно в overlapped_window?
Зато вот этот код работает если я вот так создам экземпляр своего окна.
CDebugConsole m_console;
m_console.Create(::GetDesktopWindow(), rect, NULL, WS_OVERLAPPEDWINDOW | WS_CHILD | WS_VISIBLE);
Но так делать совсем не охото, да и окно так медленно работает.