SDI程序,如何将主菜单做在标题栏上?

wmouse 2003-10-24 05:30:43
如何去掉windows默认的标题栏,将主菜单做在原来标题栏的位置,同时还要有“最小化”“最大化”“关闭”按钮?由于我不清楚过程,所以描述可能有些混乱。请指教。
...全文
63 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
byry 2003-12-16
  • 打赏
  • 举报
回复
去掉“标题栏”很简单

OOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.hMenu = NULL;
}
只是这样的话连最大最小化窗口也没有了
checkyvc6 2003-12-16
  • 打赏
  • 举报
回复
你的要求好高啊,其实这样的实现对于你来说是有点难
最好的方法就是重画nconpaint()
wmouse 2003-12-16
  • 打赏
  • 举报
回复
顶一次。
carbon107 2003-10-27
  • 打赏
  • 举报
回复
自定义菜单(在资源里)
CMenu m_kk;//此为菜单对象
然后
m_kk.LoadMenu(菜单ID);
qj7979 2003-10-27
  • 打赏
  • 举报
回复
关注
紫焰月读 2003-10-27
  • 打赏
  • 举报
回复
有介绍 OnNcPaint 的例 子吗
thingking 2003-10-27
  • 打赏
  • 举报
回复
MARK
wmouse 2003-10-27
  • 打赏
  • 举报
回复
多谢大家的关注,但由于我比较菜,所以希望能说的详细点。比如怎么去掉“标题兰”?
MilitaryMiniatures 2003-10-25
  • 打赏
  • 举报
回复
可以这么考虑:
1,窗口不要标题栏;
2,处理WM_NCPAINT消息,这是因为,也许你需要处理一些画图,更好看一点;
3,在WM_NCPAINT处理中,画出最大化,最小化等按钮,并且处理WM_NCLBUTTONDOWN, WM_NCLBUTTONUP等消息,以便能处理最大化,最小化,关闭;
4,至于鼠标点击菜单,这个不用处理,Windows自己处理了。
5, good luck!
wangjs720 2003-10-24
  • 打赏
  • 举报
回复
将菜单放在标题栏上应该不可行

你可以标题栏上画个菜单样子的按钮,然后处理WM_NCLBUTTONDOWN,再用TrackPopupMenu()

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧