MS Flex Grid控件

MS Flex Grid控件

ID:39466376

大小:65.50 KB

页数:12页

时间:2019-07-04

MS Flex Grid控件_第1页
MS Flex Grid控件_第2页
MS Flex Grid控件_第3页
MS Flex Grid控件_第4页
MS Flex Grid控件_第5页
资源描述:

《MS Flex Grid控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MSFlexGrid控件是微软的一个网格控件,可以用于显示数据库中的信息,对于一些比较简单的显示方式,还是比较方便的。   加入MSFlexGrid控件控件的方法:      在VC中选择Project

2、AddtoProject

3、ConpenmentsandControls在弹出的对话框中选择RegisteredActiveXControls然后选择MicrosoftFlexGridControl,version6.0。系统会提示你加入几个类进入你的工程。包括四个类:CMSFlexGrid,CRowCursor,COleFont,CPictur

4、e;同时在VC的Control面板上会显示出MSFlexGrid控件的图标,可以同其他普通控件一样操作这个控件。一、引言   MSFlexGrid控件是VisualC++中提供的已注册ActiveX控件,它常被用于显示和操作表格式数据,特别是数据库文件的显示及交互操作。在其他程序的交互界面中,对于不确定数目的同类大批量数据的输入而言,MSFlexGrid是十分有效的。利用MSFlexGrid可以将输入文件中的数据显示出来并作交互修改,通过功能扩展可将表格数据直接copy到Excel、Word及Origin中的表格内,利用右键菜单实现此功能。本文

5、编程实现了上述类似功能,并将MSFlexGrid控件的一些调整操作(如行高、列宽、Cell内容的对齐方式等)加以外部按钮化,使其更为方便易用。   二、先行者对MSFlexGrid控件功能的扩充   王勇、李延平[1]提出在MSFlexGrid的当前网格单元(Cell)内创建同样尺寸的编辑框(CEdit)覆盖该Cell,并将Cell内的Text传给编辑框,通过此编辑框以实现MSFlexGrid的网格编辑功能。秦胜[2]提出用信息预解释(PreTranslate)方法,截留编辑框(CEdit)内的ESC键与回车键(Enter)按下消息,以防止在编

6、辑框内不小心按下上述两按键之一时立刻关闭对话框,退出整个程序。李强[3]在此基础上作了一些改进:①对MSFlexGrid控件的Scroll消息响应中,若存在编辑框,则将其销毁。②编辑框内ESC与Enter键消息的PreTranslate,以防止退出整个对话框程序。③使编辑框同MSFlexGrid使用的字体一致。④“高亮度”显示动态创建的编辑框。魏会君[4]用控件聚合技术实现MSFlexGrid控件的Cell编辑与修改功能,并指出可将聚合后的控件编写为一个完整的新的ActiveX控件,以备频繁使用。网上一篇文章[5]在VB中实现了可间隔的多列(m

7、ultiColumns)选取功能,通过将已“选中”列的颜色设置为正常选中颜色(BackColorSel)来实现之。   三、本文的改进之处   本文除实现上述功能外,另作了如下改进:   (1)通过在当前网格单元(CurrentCell)处创建同样尺寸的编辑框(CEdit)来实现对Cell内容的交互修改,由消息预解释(PreTranslateMessage)拦截编辑框内的ESC与Enter键的按下消息。在Cell内按ESC键时,Cell内的值维持原值不变且EditBox销毁(DestroyWindow),但当前Cell仍具有焦点(focus);

8、再次编辑该Cell时,不能直接生成新的编辑框,可在其附近的Cell中单击后,再单击该Cell即可生成新的编辑框。在Cell内按Enter键时,Cell的值更新为EditBox内的值,同时下一个Cell自动进入编辑状态;其顺序为自动转到同一列的下一行Cell,若已到最大行数处,则转到下一列的起始Cell(FixedColumns不包括在内),若到整个MSFlexGrid的最末一个Cell,则按Enter键时,该Cell处的EditBox销毁但该Cell仍具有焦点,再对该Cell进行编辑的方法同上。   (2)网格数据自身内部及与外部表格式数据文件

9、间的copy/paste操作功能。将外部表格式数据源(如Excel文件)内的数值直接copy/paste至MSFlexGrid中,可减少输入工作量;有时需将至MSFlexGrid的部分数值输出到Word文件的表格或Origin的DataSheet用于绘图。本文利用系统剪贴板(Clipboard)来传送数值,考虑到MSFlexGrid的行之间的换行符号为“”,而Word与Origin中的换行符号为“r”(Excel自动兼容两种格式)。故由MSFlexGrid数值copy至Clipboard时,预先将将其中的“”符号替换为“r”

10、,由外部文件paste至MSFlexGrid时作相反的替换。具体操作时,先选中MSFlexGrid内感兴趣的区域(考虑到使用方便,FixedRows/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。