关于窗口停靠问题

mryangmeng 2008-07-19 12:45:58
我们在用win32 application设计一个程序界面,想设计一个像vc界面一样的.
请问vc界面的"工作空间"和"输出"窗口,怎么停靠的时候就变成上面/左面有两条横杠,拖出来就是个子窗口.我想请教一下大家这个这么实现
小弟先行谢过
...全文
242 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
mryangmeng 2008-07-22
  • 打赏
  • 举报
回复
要是必须画的话就麻烦了...
今天心情好,结贴了.发分了
scq2099yt 2008-07-21
  • 打赏
  • 举报
回复
up
mryangmeng 2008-07-21
  • 打赏
  • 举报
回复
问题是CCoolBar和CSizingControlBar都是继承自CControlBar.

看了一上午也没弄明白在win32 Applicationg里怎么实现.

各位帮忙给看看...
na_he 2008-07-21
  • 打赏
  • 举报
回复
CSizingControlBar,这个类在google上面搜一下,很多的,可以完成你所要的功能。
zqh886 2008-07-21
  • 打赏
  • 举报
回复
建议你看看我给你那个连接的CCoolBar类
mryangmeng 2008-07-21
  • 打赏
  • 举报
回复
没有人清楚具体怎么实现吗?只需要能弄出上面有两条横线的样子的窗口,就给分,不想浪费啊
mryangmeng 2008-07-21
  • 打赏
  • 举报
回复
感谢楼上大哥的提示,基本明白了
gamedragon 2008-07-21
  • 打赏
  • 举报
回复
dock窗口上面的两条杠,自己画就行了。好像没什么窗口属性可以在titlebar上画杠的。
gamedragon 2008-07-21
  • 打赏
  • 举报
回复
也许LZ还不了解docking的原理,我来扔块砖。

普通Windows窗口除了title bar,menu bar,就是客户区,没什么dock的概念。所谓docking,就是把几个其他窗口(toolbar,status bar,xxx)放到普通窗口的客户区的各个位置,中间空出来的地方再建一个子窗口(一般来说都叫xxView),就是新的客户区了,再把边缘修整一下让它看上去更像原来的客户区。当docking改变的时候,根据新算出的空白大小,把xxView Resize一下,给人的感觉就是docking了。
mryangmeng 2008-07-20
  • 打赏
  • 举报
回复
风格什么时候该怎么变我清楚,关键是弄不出那个上面有两条横线的样子的窗口,不知道怎么实现
vcPlayer 2008-07-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mryangmeng 的回复:]
哎...我太菜了,下了WTL里Docking Window的源代码,一点都看不懂.

还有楼上说的RecLayout这个函数在MSDN里都没查到...

现在我们能根据子窗口相对主窗口的位置来实现停靠了,可停靠后的标题栏还是windows窗口的格式,我想把它弄成vc界面"工作空间"那样上面有两条横线的样子
[/Quote]

不好意思,没写清楚,应该是:RecalcLayout (PS:用MSDN要学会模糊查询)

窗口风格变化需要你自己做,当发现自己状态改变时发个消息改变窗口风格就行了。
mryangmeng 2008-07-20
  • 打赏
  • 举报
回复
哎...我太菜了,下了WTL里Docking Window的源代码,一点都看不懂.

还有楼上说的RecLayout这个函数在MSDN里都没查到...

现在我们能根据子窗口相对主窗口的位置来实现停靠了,可停靠后的标题栏还是windows窗口的格式,我想把它弄成vc界面"工作空间"那样上面有两条横线的样子
vcPlayer 2008-07-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gamedragon 的回复:]
可以看看WTL里Docking Window相关的东西,WTL是WinAPI的一个封装,有源代码。
[/Quote]

这个源码可以参考。关键是要处理好窗口位置关系,框架中主要在RecLayout的函数中处理。也就是窗口在绘“视图”的时候,先处理其它注册的可停靠的子窗口,并减去它们所占据的区域,剩下的才是视图自己的区域。
mryangmeng 2008-07-20
  • 打赏
  • 举报
回复
感谢楼上这位大哥,我先看看
gamedragon 2008-07-20
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/wtl/wtldockingwindows.aspx
gamedragon 2008-07-20
  • 打赏
  • 举报
回复
可以看看WTL里Docking Window相关的东西,WTL是WinAPI的一个封装,有源代码。
mryangmeng 2008-07-20
  • 打赏
  • 举报
回复
帮帮小弟啊,我再加分
socrates 2008-07-20
  • 打赏
  • 举报
回复
VC的那个好象是个工具栏,上面放个TabCtrl
mryangmeng 2008-07-20
  • 打赏
  • 举报
回复
自己顶一下,帮帮忙啊
mryangmeng 2008-07-19
  • 打赏
  • 举报
回复
各位大哥大姐,帮帮忙

很急很重要,自己顶一下
加载更多回复(3)

15,980

社区成员

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

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