| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1978 人关注过本帖
标题:静态切分窗口
只看楼主 加入收藏
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 

将一个窗口纵向切成三个部分,并且这三个部分可以通过鼠标拖动来调节相对大小。代码我自己添加的很少,
只是为框架类CMainFrame重载了OnCreateClient()函数,并修改了代码。
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext)
{
CRect cr;
GetClientRect(&rc);
CSize paneSize(cr.Width()/3,cr.Height()/3);
m_Splitter.CreateStatic(this,3,1);
m_Splitter.CreateView(0,0,RUNTIME_CLASS(CSingleDocView),paneSize,pContext);
m_Splitter.CreateView(1,0,RUNTIME_CLASS(CSingleDocView),paneSize,pContext);
m_Splitter.CreateView(2,0,RUNTIME_CLASS(CSingleDocView),paneSize,pContext);
return TRUE;
}
这段代码好像没有问题吧?
真不知道问题出在哪里?


当你开始怀疑自己时,说明你已经失去了判断力
2007-03-14 07:54
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 
我好像解决了,不知是怎么回事。程序应该是通过GetClientRect函数来获得窗口矩形,通过CreateStatic函数建立切分窗口,最后由CreateView函数建立三个视图窗口。
我把GetClientRect注释掉,结果却能正常运行了。
希望版主能给个说明。

当你开始怀疑自己时,说明你已经失去了判断力
2007-03-14 08:11
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

我的代码和你的一样,是完全正确的,是你其他的地方有问题不


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-14 12:25
赤冰
Rank: 1
等 级:新手上路
帖 子:397
专家分:0
注 册:2007-1-22
收藏
得分:0 
GetClientRect(rc);
2007-03-14 13:06
边城路人
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:591
专家分:0
注 册:2007-3-8
收藏
得分:0 
GetClientRect(rc);这样也不行的。

当你开始怀疑自己时,说明你已经失去了判断力
2007-03-14 16:10
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

我就是用的GetClientRect(rc),

用GetWindowRect(rc)分割的不平均!


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-15 17:50
smqh37996
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-10-24
收藏
得分:0 
hao    好 先下下看看
2008-11-09 00:14
快速回复:静态切分窗口
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017858 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved