关于VSFlexGrid在Win7系统上无法使用滚动条的解决历程。
来源:互联网 发布:清华大学软件学院课程 编辑:程序博客网 时间:2024/06/05 02:36
项目信息:
开发环境:WindowsXP + VC6
运行环境:WindowsXP、Widnows2003、Windows 7
皮肤套件: Xtreme ToolkitPro 2008 Vol 2 (12.1.1)
使用控件:C1 Studio for ActiveX 8.0(2004版) :使用了 C1Sizer 、C1Tab 、VSFlexGrid 8.0
数据访问:ADO(OLEDB)
现象:
1:整个软件在WindowsXP、Windows2003上运行正常,Vista没测试过。
2:公司很多的笔记本系统为Win7,有部分台式机也为Win7,软件能正常启动,VSFlexGrid表格也能正常显示,但是表格的滚动条无法滚动,只能通过在表格上按键盘的方向键来滚动数据。
解决历程:
1:一开始以为是C1Sizer的问题,但经测试,发现没有使用C1Sizer的窗体也同样出现此问题,排除了。
2:网上搜索相关问题,在Component One的论坛上发现VSFlexGrid8在win7上确实无法使用滚动条,但最新的C1 Studio for ActiveX 2011版本解决了此问题。
3:下载最新的2011版本,同时在CSDN下载频道里下载了2011版本的注册机。一开始由于没有卸载掉原来的2004版本,所以导致无法安装成功。后来也解决了。
4:安装后建立一个对话框的工程测试,在对话框中加入VSFlexGrid的2011版本,然后在Win7上运行测试,发现能正常使用滚动条。
5:于是乎我用自己的项目软件在Win7上注册VSFlexGrid的2011版本,启动软件,发现仍然无法使用表格的滚动条,难道不是VSFlexGrid的版本问题?
6:但我发现,明明刚刚建立用来测试的小例子就能正常滚动,为什么原来项目的就不行呢?那就是排除了VSFlexGrid的版本过旧的问题。
7:最后发现,除了表格控件外,测试例子和项目唯一不同的地方是项目使用了皮肤套件,难道是套件问题?我把项目的皮肤(Office2007.cjstyles)加载去除后做了测试,竟然VSFlexGrid能正常在Win7上使用滚动条了,一切正常。
8:原来是Xtreme ToolkitPro 2008 的皮肤不兼容Win7造成的,后来尝试不使用皮肤而且加载2004版本的VSFlexGrid,也能正常滚动。加载其它皮肤一律不行,证实了问题所在。
最后解决办法:
判断操作系统版本(http://blog.csdn.net/jhkdiy/article/details/6913465),如果是win7则不加载皮肤,其它操作系统正常加载。
下面是加载皮肤的代码:
BOOL CTopdayERPApp::LoadSkinFile(){// --------------------------------------// 日期:2010/06/12 17:23:14// 作者:申志远// 动作:下列代码加载office2007的皮肤,会影响整个// 应用程序的界面。// --------------------------------------// --------------------------------------// 日期:2011/10/28 11:10:53// 作者:申志远// 动作:因为皮肤在win7下会导致VSFlexGrid无法使用滚动条,所以// 判断操作系统版本,如果是win7则不加载皮肤。// --------------------------------------if (isWin7()){return TRUE;}CString m_strStylePath;getAppPath(m_strStylePath);m_strStylePath += _T("\\Styles\\Office2007.cjstyles");// 文件存在才开启总体皮肤效果CFileFind fs;if (fs.FindFile(m_strStylePath) == FALSE){AfxMessageBox(_T("警告: 未能找到皮肤文件:\n") + m_strStylePath);}else{//XTPSkinManager()->SetApplyOptions(XTPSkinManager()->GetApplyOptions() | xtpSkinApplyMetrics);XTPSkinManager()->LoadSkin(m_strStylePath);}fs.Close();return TRUE;}
- 关于VSFlexGrid在Win7系统上无法使用滚动条的解决历程。
- 解决在WINDOWS XP,win7系统上无法安装SQL server服务器版的问题
- 解决 iframe 在 iPad 上无法滚动的问题
- 在Windows Mobile上使用滚动条
- 在IOS系统上,滚动条滚动到指定的位置出现空白页面的解决方案
- 解决方案 VB编写的数据库程序在Win7 SP1编译无法在XP系统上使用的问题
- JZ2440在WIN7上无法使用DNW的替代方法
- 解决DataGridView在多线程中无法显示滚动条的问题
- 解决DataGridView在多线程中无法显示滚动条的问题
- 关于SQLlite数据库 在32 位系统上的无法使用的问题
- win7系统msi文件无法安装历程
- TOAD在Win7 X64系统上使用遇到的问题
- 关于HCL在windows 10家庭中文版系统或者刚装的系统上无法使用的问题
- 解决IPMITool无法在SELS上使用的问题
- 解决jqgrid在IE使用水平滚动条BUG
- C#使用Graphics在窗体上绘图(加滚动条)
- 解决在WIN7(64位)上Mex无法编译的问题
- 关于iscroll滚动插件,在iOS下面,上拉之后无法回弹的问题
- 五款主流浏览器针对HTML5与CSS3的兼容性问题对比评测
- delphi json
- 享元模式(python)
- 作用域、链接属性和存储类型
- 静态链接库和动态链接库
- 关于VSFlexGrid在Win7系统上无法使用滚动条的解决历程。
- linux free命令
- 翻转硬币
- Advanced Topics in Data Mining Spring 2011
- Linux性能指标参数
- 主键和唯一索引
- Java中连结MySQL启用预编译的先决条件是useServerPstmts=true.
- PHP Webservice的发布与调用
- 在asp.net中弹出一个提示框,单击“是”则继续执行操作,单击“否”则终止操作