怎样才能去掉CControlBar类的工具条上的"关闭"按钮?

windyhui 2005-05-26 02:32:41
Modify(WS_SYSMENU,0)无法调用成功
...全文
167 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
windyhui 2005-05-27
  • 打赏
  • 举报
回复
你发到我的邮箱吧
windy_hui@163.com
cdeee 2005-05-27
  • 打赏
  • 举报
回复

如果你发现这个类还需要添加什么新特性的话,请给点意见,如果我也认为应该添加,我就会添加进去的。
cdeee 2005-05-27
  • 打赏
  • 举报
回复

一点补充,该程序是用Visual Studio .Net 2003 写的,原代码中的程序框架是自动生成的,你只需要分析 SizeBar.cpp、SizeBar.h 以及 主框架类中的 OnCreate 函数即可。

最后,如果你结贴了,可要给我分哟。:)
cdeee 2005-05-27
  • 打赏
  • 举报
回复

已经发送了,你接收吧。

注:这个CSizeBar还不完善,但最难的部分已经实现,而且我的原代码中有比较全面的注释,你应该可以看懂。
cdeee 2005-05-26
  • 打赏
  • 举报
回复

我也正在做一个类VC界面,有兴趣看看我的程序吗?把你的 MSN 说一下,我发给你。
cdeee 2005-05-26
  • 打赏
  • 举报
回复

不知道你是怎么实现的,要解决的话需要根据实际情况来看。
windyhui 2005-05-26
  • 打赏
  • 举报
回复
实在上我的是类VC的界面,不浮动的时候就有了关闭按钮。
cdeee 2005-05-26
  • 打赏
  • 举报
回复

上面的代码需要注意一下:

1、该代码需要在 CControlBar 正在浮动的时候调用,你可以考虑 WM_WINDOWPOSCHANGING 消息。
2、IsFloating 函数可能会发生问题,建议用以下代码替换:
GetParent() && (GetParent()->GetCtrlDlgID() == AFX_IDW_DOCKBAR_FLOAT)

另:如果有时间,请看看我的帖子《WM_ACTIVATE 问题,知道的人帮帮忙,不胜感激》,谢谢!
cdeee 2005-05-26
  • 打赏
  • 举报
回复

伪代码,你自己完善:

if (IsFloating())
{
CWnd * pWnd = GetParent();
ASSERT_VALID(pWnd);
pWnd->SetWindowLong(...); // 改变控制条(实际是CControlBar的父窗口)风格
}

15,978

社区成员

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

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