CformView滚动条!!!

来源:互联网 发布:人大 网络教育二学位 编辑:程序博客网 时间:2024/05/20 08:26

CFormView是以资源文件中对应的那个对话框的大小设定滚动范围的。只要对话框的大小超过了当前视图的范围,则就会出现滚动条,所以只要在对话框资源里边将对话设置的足够小,就不会出现滚动条,然后在OnSize(UINT nType, int cx, int cy)处改动所有控件到你想要的样子   
 
分类: C/C++ Visual C++6 Visual c++2005 Evc4.0 编程

CformView滚动条!!! [问题点数:100分,结帖人huntwolf]   收藏



huntwolf
huntwolf
等级:
结帖率:100%
楼主 发表于: 2004-11-15 15:43:00
我在CformView中动态添加大量控件,但当控件超出当前可见的范围时,滚动条并不出现!
请问怎么办,才能让滚动条出现呢?
滚动条好像是只有当前视图小于资源中的对话框大小时才出现,但这很不人性化!
郁闷了好几天了,兄弟姐妹们 帮帮我吧!
请不要简单地说用SetScrollView ,MoveWindow()等函数,我想知道怎么用
谢谢!!


对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 回复次数:6


numen27
numen27
等级:
#1 得分:15 回复于: 2004-11-15 15:47:39
CScrollView::SetScrollSizes是用来设置相关参数的,其中的sizeTotal表示可视部分的大小,把它设成客户区大小就能有滚动条了吧
欢迎关注CSDN产品客服微博对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理


huntwolf
huntwolf
等级:
#2 得分:0 回复于: 2004-11-15 15:54:19
不行啊,
客户区大小好像不包含不可见的部分
CSDN问答频道3月声望排行榜出炉对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理


huntwolf
huntwolf
等级:
#3 得分:0 回复于: 2004-11-15 16:53:05
使问题太简单了吗?怎么没人帮忙啊
急死我了,我是菜鸟
大哥大姐们 救救我!!
Java应用级产品开发平台APDPlat作者杨尚川专访对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理


DentistryDoctor
DentistryDoctor
等级:
22
更多勋章
#4 得分:15 回复于: 2004-11-15 16:55:08
就是SetScrollSizes呀,有什么问题?
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理


laiyiling
laiyiling
等级:
23
更多勋章
#5 得分:20 回复于: 2004-11-15 16:57:41
加上WS_VSCROLL、WS_HSCROLL的风格。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理


laiyiling
laiyiling
等级:
23
更多勋章
#6 得分:50 回复于: 2004-11-15 16:59:42
BOOL CMyFormView::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &=WS_VSCROLL|~WS_THICKFRAME;
return CFormView::PreCreateWindow(cs);
}


void CMyFormView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
CSize sizeTotal(800, 2400);
SetScrollSizes(MM_LOENGLISH, sizeTotal);
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
}
原创粉丝点击