- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MS Flex Grid控件
MS Flex Grid控件是微软的一个网格控件,可以用于显示数据库中的信息,对于一些比较简单的显示方式,还是比较方便的。
??? 加入MS Flex Grid控件控件的方法:
?????? 在VC中选择Project|Add to Project|Conpenments and Controls 在弹出的对话框中选择Registered ActiveX Controls然后选择Microsoft FlexGrid Control, version 6.0。系统会提示你加入几个类进入你的工程。包括四个类:CMSFlexGrid,CRowCursor,COleFont,CPicture;同时在VC的Control面板上会显示出MS Flex Grid控件的图标,可以同其他普通控件一样操作这个控件。
一、引言
??? MSFlexGrid控件是Visual C++中提供的已注册ActiveX控件,它常被用于显示和操作表格式数据,特别是数据库文件的显示及交互操作。在其他程序的交互界面中,对于不确定数目的同类大批量数据的输入而言,MSFlexGrid是十分有效的。利用MSFlexGrid可以将输入文件中的数据显示出来并作交互修改,通过功能扩展可将表格数据直接copy到Excel、Word及Origin中的表格内,利用右键菜单实现此功能。本文编程实现了上述类似功能,并将MSFlexGrid控件的一些调整操作(如行高、列宽、Cell内容的对齐方式等)加以外部按钮化,使其更为方便易用。
??? 二、先行者对MSFlexGrid控件功能的扩充
??? 王勇、李延平[1]提出在MSFlexGrid的当前网格单元(Cell)内创建同样尺寸的编辑框(CEdit)覆盖该Cell,并将Cell内的Text传给编辑框,通过此编辑框以实现MSFlexGrid的网格编辑功能。秦胜[2]提出用信息预解释(PreTranslate)方法,截留编辑框(CEdit)内的ESC键与回车键(Enter)按下消息,以防止在编辑框内不小心按下上述两按键之一时立刻关闭对话框,退出整个程序。李强[3]在此基础上作了一些改进:①对MSFlexGrid控件的Scroll消息响应中,若存在编辑框,则将其销毁。②编辑框内ESC与Enter键消息的PreTranslate,以防止退出整个对话框程序。③使编辑框同MSFlexGrid使用的字体一致。④“高亮度”显示动态创建的编辑框。魏会君[4]用控件聚合技术实现MSFlexGrid控件的Cell编辑与修改功能,并指出可将聚合后的控件编写为一个完整的新的ActiveX控件,以备频繁使用。网上一篇文章[5]在VB中实现了可间隔的多列(multi Columns)选取功能,通过将已“选中”列的颜色设置为正常选中颜色(BackColorSel)来实现之。
??? 三、本文的改进之处
??? 本文除实现上述功能外,另作了如下改进:
??? (1) 通过在当前网格单元(Current Cell)处创建同样尺寸的编辑框(CEdit)来实现对Cell内容的交互修改,由消息预解释(PreTranslateMessage)拦截编辑框内的ESC与Enter键的按下消息。在Cell内按ESC键时,Cell内的值维持原值不变且EditBox销毁(DestroyWindow),但当前Cell仍具有焦点(focus);再次编辑该Cell时,不能直接生成新的编辑框,可在其附近的Cell中单击后,再单击该Cell即可生成新的编辑框。在Cell内按Enter键时,Cell的值更新为EditBox内的值,同时下一个Cell自动进入编辑状态;其顺序为自动转到同一列的下一行Cell,若已到最大行数处,则转到下一列的起始Cell (FixedColumns不包括在内),若到整个MSFlexGrid的最末一个Cell,则按Enter键时,该Cell处的EditBox销毁但该Cell仍具有焦点,再对该Cell进行编辑的方法同上。
??? (2) 网格数据自身内部及与外部表格式数据文件间的copy/paste操作功能。将外部表格式数据源(如Excel文件)内的数值直接copy/paste至MSFlexGrid中,可减少输入工作量;有时需将至MSFlexGrid的部分数值输出到Word文件的表格或Origin的DataSheet用于绘图。本文利用系统剪贴板(Clipboard)来传送数值,考虑到MSFlexGrid的行之间的换行符号为“\n”,而Word与Origin中的换行符号为“\n\r”(Excel自动兼容两种格式)。故由MSFlexGrid数值copy至Clipboard时,预先将将其中的“\n”符号替换为“\n\r”,由外部文件paste至MSFlexGrid时作相反
您可能关注的文档
- itil 中Service Request Management配置说明v1.docx
- 转贴GMAT词汇串讲表.doc
- 第三章 翻译中的对比.docx
- CIA特工的职场生存攻略.docx
- 在正确的时间做了正确的事遇到了正确的人.docx
- 译林六年级上册第5单元试卷.doc
- SAP_MM-SAP物料自动记账科目设置总结-V1.0-trigger_lau.doc
- 全面风险管理之101条风险管理准则(中英文简体版).doc
- 想要让托福听力达到满分的方法.doc
- walk away中英文.docx
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 2024年中国石油秋季招聘通用能力考试笔试备考试题及答案解析.docx
- 第一课 教室盆栽我做主—盆栽养护 课件 浙科版综合实践活动四年级上册.pptx
- 医疗安全(不良)事件根本原因分析法活动指南.pdf VIP
- 2023年中考押题预测卷02(杭州卷)-英语(考试版)A4.docx
- 于品 清华丘班数学分析讲义.pdf VIP
- 金融风险管理(中央财经大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 一年一度喜剧大赛江东鸣《先生请出山》完整台词.docx VIP
- 党员立足本职岗位发挥党员先锋引领作用发言稿.doc VIP
- 《机床电气控制》M7130型卧轴矩台平面磨床的电气控制.pdf VIP
- Unit 4 Period 4 Developing Ideas 课件-高一上学期英语课件(外研社2019必修第一册).pptx
文档评论(0)