MFC应用程序(32位)在Windows(7 64位)机器上表现奇怪(来自GetScrollPosition()函数结果的垃圾值)

时间:2012-08-27 09:31:39

标签: visual-c++ windows-7 mfc

我们有一个MFC应用程序在Windows Server 2008 R2(64位)和窗口7(32位)上正常运行。但它在窗口7(64位)机器上表现得很奇怪。

调试应用程序后,我发现对GetScrollPosition()的函数调用将CPoint(x,y)的返回值作为垃圾 - 应用程序的起始行和列号设置为不定值,它是无法调用Draw3DCellStep()来绘制单元格。

我的应用程序发生的一件有趣的事情是,如果我将应用程序的缩放级别更改为<=70%,它将返回当前Cpoint(x=0,y=0)值,但如果我将缩放值修改为80%则GetScrollPosition()会返回Cpoint(x=0,y=58494736)

为什么GetScrollPosition()函数会返回垃圾或不适当的值?同样的应用程序在win 2003 R2(64位)和win 7(32位)上运行良好。请帮忙。

注意:它是在Windows Server 2003上编译的visual studio 2008专业版中开发的。

1 个答案:

答案 0 :(得分:0)

应用windows Classic主题后,MFC应用程序正常工作。因此,在Windows7 Aero主题中,旧版MFC应用程序将无法正常运行。