Проблемка с окном производным от CFrameWnd в сплиттере
От: sapient Россия  
Дата: 07.12.04 08:08
Оценка:
Суть проблемы:
1. Есть приложение SDI
2. Разбито сплиттером на две части вертикально
3. При кликах по элементам управления в левой части меняются виды правой части
4. В правой части появляются окна производные от CFrameWnd с запиханным в него CListView. Некоторые из них со своими тулбарами.

И вот мне захотелось одно из таких окошек снабдить помимо тулбара еще менюхой. И не получается.

В хэдере есть вот такое две переменные:
CToolBar m_wndToolBar;
CMenu    m_wndMenu;


Пытаюсь делать вот так:
int CReportsFrm::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD 
                                                     | WS_VISIBLE
                                                     | CBRS_TOP
                                                     | CBRS_GRIPPER
                                                     | CBRS_TOOLTIPS
                                                     | CBRS_FLYBY
                                                     | CBRS_SIZE_DYNAMIC) ||
        !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    {
        TRACE0("Failed to create toolbar\n");
        return -1;      // fail to create
    }

    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndToolBar);

    //Load the new menu.
    m_wndMenu.LoadMenu(IDR_REPORTS_MENU);

        // Add the new menu
    SetMenu(&m_wndMenu);


    return 0;
}



Тулбар появляется и менюха никак не хочет.

Need help!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.