之前在网上都说:只要在资源视图->属性->Border 改写为None就行了,但是我该写完之后还是有一个边框,如图:
后来找到这个博客里面说的,试了第一个:SetWindowLong(this->m_hWnd,GWL_STYLE,0);
直接就去掉了,我是在Oninitdialog里面添加的。
在CMainFrame的OnCreate()中添加如下代码:
//去掉 标题栏 及其他样式
SetWindowLong(this->m_hWnd,GWL_STYLE,0);
//去掉 边框 及其他样式
SetWindowLong(this->m_hWnd,GWL_EXSTYLE,0);
//取消 菜单栏
this->SetMenu(NULL);
在CView中的OnCreate()中也去掉边框;
//在窗口Frame和View去掉 边界线 !!!!!!!!!!!!!!!!!!
cs.dwExStyle&=~WS_EX_CLIENTEDGE;
注意:窗口在默认情况下是没有边界线的, 但是在CView的PreCreateWindow()中会设置边界线, 所以要在CView返回到自己
的CView继承类中的PreCreateWindow()函数后添加一个cs.dwExStyle&=~WS_EX_CLIENTEDGE;操作.
//去掉 工具栏 .
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中的第二个if语句:
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))
是用于添加工具栏的,都注释掉就可以去掉工具栏.
另外要去掉后面的:
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
三个语句才能不报错.
//去掉 状态栏
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中的第三个if语句:
if (!m_wndStatusBar.Create(this) ||!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof
(UINT)))
是用于添加状态栏的,都注释掉就可以去掉状态栏.