> Суть такая: не могу к окошку присобачить меню. > > class ViewSNWin : public CWnd ... > > BOOL ViewSNWin::PreCreateWindow(CREATESTRUCT& cs) > { > menu.LoadMenu( IDR_MENU_VIEW ); > return CWnd::PreCreateWindow(cs); > } > > void CMainFrame::OnViewSn() > { > > viewSNWin = new ViewSNWin; > viewSNWin->m_Parent = this; > > viewSNWin->Create( NULL, "", > WS_CHILD | WS_OVERLAPPEDWINDOW, > CRect(0, 0, 400, 200), > &m_wndView, > 1234, > NULL ); > > viewSNWin->SetMenu(NULL); > viewSNWin->SetMenu( &(viewSNWin->menu) ); > > viewSNWin->ShowWindow( SW_SHOW ); > } > > Проблемма раз: окошко появляется без меню. > Проблемма два: Даже когда окошко выделенно, капшен все рано > серый (а синим остается майнфрейм).
oj, chto to me ne nravitsya tvoj code .... shas ustavshij, malo chto v'ezzhaju, no na pervyj vzgljad mne ne nravitsya realizacia f-ii OnViewSn() .... mozhet snachala tebe stoit sozdat' ChildFrame (esli eto MDI), potom na nego posadit' vsoj View ???
pokopajsya v etom napravlenii, no yavno oshibka v tvoej realizacii... pochitaj pobol'she o frame-ax
> Суть такая: не могу к окошку присобачить меню. > > class ViewSNWin : public CWnd ... > > BOOL ViewSNWin::PreCreateWindow(CREATESTRUCT& cs) > { > menu.LoadMenu( IDR_MENU_VIEW ); > return CWnd::PreCreateWindow(cs); > } > > void CMainFrame::OnViewSn() > { > > viewSNWin = new ViewSNWin; > viewSNWin->m_Parent = this; > > viewSNWin->Create( NULL, "", > WS_CHILD | WS_OVERLAPPEDWINDOW, > CRect(0, 0, 400, 200), > &m_wndView, > 1234, > NULL ); > > viewSNWin->SetMenu(NULL); > viewSNWin->SetMenu( &(viewSNWin->menu) ); > > viewSNWin->ShowWindow( SW_SHOW ); > } > > Проблемма раз: окошко появляется без меню. > Проблемма два: Даже когда окошко выделенно, капшен все рано > серый (а синим остается майнфрейм).
oj, chto to me ne nravitsya tvoj code .... shas ustavshij, malo chto v'ezzhaju, no na pervyj vzgljad mne ne nravitsya realizacia f-ii OnViewSn() .... mozhet snachala tebe stoit sozdat' ChildFrame (esli eto MDI), potom na nego posadit' vsoj View ???
pokopajsya v etom napravlenii, no yavno oshibka v tvoej realizacii... pochitaj pobol'she o frame-ax
К чайлдовому окну меню присобачить нельзя. Даже используя MDI, изменяется меню в майнфрейме. Что бы поставить меню на окно, его надо сделать попапным или оверлапедом, но ни как не чайлдом ! Но возникает проблемма с уходом окна за границу парента. На самом деле это не страшно, и проблемм у меня уже давно никаких. Так, делюсь опытом.