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

windyhui 2005-05-26 02:32:41
Modify(WS_SYSMENU,0)无法调用成功
...全文
132 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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的父窗口)风格
}
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-05-26 02:32
社区公告
暂无公告