Windows mobile Win CE/Windows Mobile上MFC中的滚动对话框
我正在构建一个基于对话框的Windows Mobile应用程序。 “我的主容器”对话框有一个选项卡控件,可在不同的子对话框(作为单独的选项卡页)之间切换 由于我的显示空间有限,我需要我的对话框垂直滚动。 下面是一些在线示例,我添加了一个垂直滚动条,以及相应的消息和处理程序来处理垂直滚动 滚动条本身的行为非常完美,当我点击或拖动滚动条时,滚动条的位置会发生变化。但是,我的对话框保持静态,不会滚动 为了隔离问题,我修改了scroll消息处理程序,并在每次出现滚动时硬编码ScrollWindow()命令,如下所示:Windows mobile Win CE/Windows Mobile上MFC中的滚动对话框,windows-mobile,mfc,scroll,windows-ce,Windows Mobile,Mfc,Scroll,Windows Ce,我正在构建一个基于对话框的Windows Mobile应用程序。 “我的主容器”对话框有一个选项卡控件,可在不同的子对话框(作为单独的选项卡页)之间切换 由于我的显示空间有限,我需要我的对话框垂直滚动。 下面是一些在线示例,我添加了一个垂直滚动条,以及相应的消息和处理程序来处理垂直滚动 滚动条本身的行为非常完美,当我点击或拖动滚动条时,滚动条的位置会发生变化。但是,我的对话框保持静态,不会滚动 为了隔离问题,我修改了scroll消息处理程序,并在每次出现滚动时硬编码ScrollWindow()命
void SettingsDialog::OnVScroll(UINT nSBCode,
UINT nPos, CScrollBar* pScrollBar)
{
ScrollWindow(0,30,NULL,NULL);
}
代码已到达,但对话框中仍然没有滚动。
有人能解释一下这个谜吗
顺便说一句,我发现了一个关于编码大师的线程,它讨论了完全相同的问题,但在这里没有得到解决:我遇到了相同的问题。我从不使用MFC,但使其正常工作的Win32函数如下:
ScrollWindowEx(hDlg, 0, currentPos - si.nPos, NULL, NULL, NULL, NULL, SW_SCROLLCHILDREN | SW_INVALIDATE);
MSDN说这
注意:提供ScrollWindow功能是为了向后兼容。新应用程序应使用ScrollWindowEx功能
这解决了我的问题。我仍然不知道为什么常规的ScrollWindow调用失败,但在这一点上,我毫不在乎……:)谢谢