BCGControlBar使用CMyPropertySheet的时候直接生成一个对话框包含一些控件。但是还会添加确定,取消,应用,帮助这几个按钮。跟步调试去看究竟是在哪生成的,看了很久还是没发现是在哪生成的,只好采取其他措施来删掉这几个按钮。
于是,我重写了CMyPropertySheet::OnInitDialog()。通过 GetDlgItem(IDOK)-> ShowWindow(SW_HIDE);来达到隐藏的效果。
但是程序运行后还有个问题,缺省情况下,按回车键会响应OnOk(),按ESC时会响应OnCacel();于是添加消息映射,重写掉这两个方法
ON_BN_CLICKED(IDOK, CMyPropertySheet::OnBnClickedOk)
于是乎,这个问题就解决了。。
但是还有个问题,,BCG生成的控件大小位置都固定了。
改变左边的Toolbar的位置,可以通过this->m_wndOutlookBar.SetWindowPos(NULL,0,BAROFFSET,0,0,SWP_NOZORDER | SWP_NOSIZE|SWP_NOACTIVATE);
来改变,
而右边的tab区域则可以CTabCtrl *TabWnd =this->GetTabControl();
TabWnd->SetWindowPos(NULL,TABOFFSET,0,0,0,SWP_NOZORDER | SWP_NOSIZE|SWP_NOACTIVATE);
这样就可以随意改变控件的位置。</