| 查看: 1129 | 回复: 7 | ||
[求助]
MFC里怎么给主窗口加滚动条?
|
| 图像处理的程序一般都是多窗口的模式,现在子窗口里的滚动条是有的,但是发现当打开的子窗口很多的时候,主窗口就不够大了,所以想加个滚动条,但是不知道怎么操作。如果有高手肯不吝赐教烦请稍微详细一些,比如在哪个类哪个函数里添加什么语句。多谢,多谢! |
» 猜你喜欢
博士读完未来一定会好吗
已经有21人回复
导师想让我从独立一作变成了共一第一
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
申请2026年博士
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
HR-ESI-MS 主峰都为224的未知峰?!!
已经有4人回复
【分享】海贼王女帝电脑主题包 1.0 绿色版【已搜索无重复】
已经有6人回复
yalefield
金虫 (文坛精英)
老汉一枚
- 程序强帖: 3
- 应助: 129 (高中生)
- 贵宾: 0.17
- 金币: 21238.9
- 散金: 3440
- 红花: 66
- 帖子: 12101
- 在线: 759.1小时
- 虫号: 96063
- 注册: 2005-10-07
- 专业: 高等教育学
- 管辖: 计算模拟
【答案】应助回帖
qiaoyusun(金币+5): 就是技术学得不够好啊,我知道子窗口是在initialupdate里设置大小的,但是主窗口不太会。 2011-08-02 21:05:42
qiaoyusun(金币+5): 这个设置我也有,不管用啊 2011-08-03 13:11:31
qiaoyusun(金币+5): 这个设置我也有,不管用啊 2011-08-03 13:11:31
|
MFC中,窗口的滚动条是“自动”出现的,而不必自己添加。 但前提是您要选用哪种CView的继承类。 您要选用CScollView,那么,在InitialUpdate函数中,就可以设置窗口的大小。 那么,运行的时候,如果窗口的尺寸小于当初的设置,那么滚动条就自动出现了。 建议:认真看看《Visual C++技术内幕》 |
2楼2011-08-02 16:07:06
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
★
jjdg(金币+1): 感谢参与 2011-08-02 22:31:22
jjdg(金币+1): 感谢参与 2011-08-02 22:31:22
|
主窗口用的是CScrollView还是CScrollDialog? 前者可以参考http://blog.csdn.net/keyouan2008/article/details/5820602 后者可以参考http://blog.csdn.net/liang_lq/article/details/6224888 |
3楼2011-08-02 16:11:59
4楼2011-08-02 22:35:13
yalefield
金虫 (文坛精英)
老汉一枚
- 程序强帖: 3
- 应助: 129 (高中生)
- 贵宾: 0.17
- 金币: 21238.9
- 散金: 3440
- 红花: 66
- 帖子: 12101
- 在线: 759.1小时
- 虫号: 96063
- 注册: 2005-10-07
- 专业: 高等教育学
- 管辖: 计算模拟
5楼2011-08-02 23:47:42
6楼2011-08-03 13:17:52
jjdg
版主 (知名作家)
- 程序强帖: 9
- 应助: 223 (大学生)
- 贵宾: 3.926
- 金币: 51002.6
- 红花: 238
- 帖子: 7227
- 在线: 474.2小时
- 虫号: 27000
- 注册: 2003-10-21
- 专业: 药物代谢与药物动力学
- 管辖: 程序语言
【答案】应助回帖
qiaoyusun(金币+10): 2011-08-06 22:07:56
|
从你的代码来看,应该是你的sizeTotal太大。cs和cy分别为滚动窗口的水平、垂直分量,表明 窗口的水平、垂直方向尺寸小于其指定像素单位时将出现水平方向滚动条和垂直方向滚动条。通过修改滚动尺寸, 可改变出现滚动条的最小窗口。也就是说,你现在指定的是2000*2000像素的尺寸。一般显示器的分辨率可以达到这个尺寸? VC++中使用CscrollView代替Cview类即可实现滚动窗口。此时,系统生成OnInitialUpdate()成员函数: void CmyscrollView::OnInitialUpdat() { CscrollView::OnIntialUpdate(); Csize sizeTotal; SizeTotal.cs=sizeToal.cy=100; SetScrollSizes(MM-TEXT,sizeTotal); } 这个例子里面,cs和cy分别为滚动窗口的水平、垂直分量,表明窗口的水平、垂直方向尺寸小于100像素单位时将出现水平方向滚动条和垂直方向滚动条。通过修改滚动尺寸,可改变出现滚动条的最小窗口。例如,若“sizeTotal.cx=600;sizeTotal.cy=800;”,则当窗口尺寸小于600*800时,就会出现滚动条。 |

7楼2011-08-04 12:58:03
8楼2011-08-04 16:08:07













回复此楼