Тулбар
Подскажите как сделать в SDI приложении панель инструментов, которая состоит из нескольких рядов кнопок? Пример - панель инструментов Paint'а.
CReBar
А там не дочернее окно?
Например диалог со свойством child.
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attributes
public:
CDialogBar m_EraseBar;
.....
};
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
.........
if(!m_EraseBar.Create(this, IDD_ERASEDLG, CBRS_RIGHT|CBRS_TOOLTIPS|CBRS_FLYBY|WS_VISIBLE, IDD_ERASEDLG))
{
TRACE0("Failed to create DlgBar\n");
return -1; // Fail to create.
}
.....
}
//кнопка на другом тулбаре
void CMainFrame::OnLine()
{
m_EraseBar.ShowWindow(FALSE);
.....
}
[\CODE]
Когда я жму кнопку на другом тулбаре выполняется функция OnLine. И m_EraseBar становится недействительным (нажать ничего нельзя). И при обновлении экрана m_EraseBar не обновляется.
В файле приведен скриншот окна
Вот собственно скриншот
Может быть CFrameWnd::ShowControlBar?
Да так работает. Спасибо. Эти мелкософтовские только людей путают (поскольку, если вызовы ShowWindow делать в OnCreate то все работает нормально).