您的位置:首页 > 其它

MFC 单文档去掉标题栏和菜单栏

2015-08-13 17:26 260 查看
隐藏标题栏

在CMainFrame的OnCreate()中添加如下代码:

方法一:(好用)

long Style;

//去掉标题栏及其他样式

SetWindowLong(this->m_hWnd,GWL_STYLE,0);

//去掉边框及其他样式

SetWindowLong(this->m_hWnd,GWL_EXSTYLE,0);

方法二:使用CWnd成员函数ModifyStyle实现

// 隐藏TitleBar

ModifyStyle(WS_CAPTION, 0, SWP_FRAMECHANGED);

// 显示TitleBar

ModifyStyle(0, WS_CAPTION, SWP_FRAMECHANGED);

以上代码,放置在CMainFrame的OnCreate函数的尾部即可~~

隐藏菜单栏

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

RECT rect;

::GetWindowRect(GetDesktopWindow()->m_hWnd,&rect);

cs.x = -3;

cs.y = -30;

cs.cx = rect.right+5;

cs.cy = rect.bottom;

if(cs.hMenu != NULL)

{

cs.hMenu = NULL;

}

if( !CFrameWnd::PreCreateWindow(cs) )

return FALSE;

// TODO: 在此处通过修改

// CREATESTRUCT cs 来修改窗口类或样式

return TRUE;

}

工具栏很好去掉,在主框架CMainFrame的OnCreate函数中,注销m_wndToolBar等相关的创建和绑定代码即可。
菜单不是很好弄。
如果是VS2005之后的新样式菜单,那么在OnCreate中就可以了,方法和工具栏相同。
如果是VC6或者新版本中选择的老式菜单,这个是绑定在模板创建中的,不能直接去掉。不过同样可以在主框架的OnCreate中,通过m_pMainWnd->SetMenu(NULL);这样的调用,去除主菜单。


什么是工具栏,什么是菜单栏、什么是标题栏?

回答1、

菜单栏就是窗口最上方,标题栏下方的那部分,通常有“文件,编辑,查看,工具,帮助”等选项。

工具栏一般在菜单栏下方,通常有“前进,后退”等按钮。

回答2、

最上面的是标题栏,下面就是菜单栏,再下面就是工具栏

回答3、菜单栏就是标题栏下面的一栏,有文件,编辑,查看,工具,帮助等等,

工具栏就菜单栏下面的所有栏目的统称.

像前进,后退,主页.刷新等

标题栏就是整个窗口最上面的一栏,上面的标题说明当前窗口是什么位置

菜单栏和工具栏是什么区别

(菜单栏是应用程序里所有功能的集大成,非常丰富。可是要使用菜单栏里的功能,您通常得点好多下鼠标。为了方便用户,就把最常用的功能放在工具栏里。工具栏里通常都是图形按钮,图形按钮使用起来很方便,点一下鼠标就可以了。

小结:

在功能上,工具栏其实是菜单栏的子集、包含菜单栏里最常用的功能;在使用方式上,工具栏比菜单栏方便,点一下鼠标就行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: