我有一个里面有儿童窗户的窗户。儿童窗户占据了大约1000像素的垂直空间。但是,我们的用户并不总是有1000像素的垂直空间可用 - 它们可能只有500或600像素。如何在win32中更改窗口的视口?
我希望能够以500像素高的大小显示此窗口,并让用户在窗口上下滚动以查看完整内容。该窗口应始终为500像素高,但其中的视图应该改变。
假设我可以在某处添加滚动条,以便用户可以选择他希望看到的窗口的哪一部分。 Windows通常将窗口内容从高度0绘制到高度500;例如,我怎样才能告诉它“从高度250到高度750”?
我知道我可以使用像SetViewportOrgEx
等功能来设置视口,但是这些功能需要设备上下文 - 如果我希望它们是“永久”的,我什么时候打电话给他们?当我从Windows获取WM_PAINT消息时,我会给他们打电话吗?或者在其他时间?我想使用那个家族的哪些功能?
编辑补充:我不想真正改变孩子窗口的位置 - 他们应该保持在同一个位置,唯一应该改变的是窗口的视图。
感谢。
我不想真的改变孩子窗户的位置 - 他们应该保持在同一个位置,唯一应该改变的是窗户的视图。 – Colen 2011-01-11 02:46:09