Дочерние окна в Overlapped CHorSplitterWindow
От: lokoArt  
Дата: 31.05.12 05:58
Оценка:
Добрый день.
Подскажите почему у меня не получается создать дочерние окна внутри 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);

Но так делать совсем не охото, да и окно так медленно работает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.