在么实现MSN的"Show the menu bar"类似的功能?

cppgp 2008-12-25 12:52:51
MSN 的 登录界面上,在右上角部位友个下拉式菜单按钮。其中最后一项是”Show the menu bar”(我用的 Version 8.1 英文)。点击以后在客户区外部出现标题栏和系统菜单栏。并且下拉式按钮不再弹出菜单,点击时仅仅隐藏标题栏和菜单栏。
我的问题是:在整个过程中MSN客户区没有闪烁、位置没有变化。这个是怎么做到的呢?是真的把标题栏和菜单栏隐藏起来了还是采用某种透明化技术?我的方案如下,但是有闪烁。我在初始化时设置不显示菜单栏标题栏。然后选择点鼠标右键时显示/隐藏。该部分代码如下:
static bool bNeedShow = true;

if ( bNeedShow )
{
AfxGetMainWnd()->SetWindowPos(
&wndNoTopMost,
150-GetSystemMetrics(SM_CYBORDER),
150-GetSystemMetrics(SM_CYCAPTION)-GetSystemMetrics(SM_CYBORDER),
300,
600,
0
);
AfxGetMainWnd()->ModifyStyle(0,WS_CAPTION|WS_BORDER,SWP_DRAWFRAME);
}
else
{
AfxGetMainWnd()->SetWindowPos(
&wndNoTopMost,
150,
150,
300,
600,
0
);
AfxGetMainWnd()->ModifyStyle(WS_CAPTION|WS_BORDER,0,SWP_DRAWFRAME);
}

bNeedShow = !bNeedShow;

位置没发生变化,但是有客户区有闪烁。在么消除呢?
我第一次提问,不知道描述清楚问题了没。首先感谢大家的帮助!
...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cppgp 2008-12-26
  • 打赏
  • 举报
回复
没人理会这个问题吗?谢谢大家。

15,979

社区成员

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

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