- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FlexCell控件例子
FlexCell控件
FlexCell控件另一个比较强的特点是支持多种文件格式,这节我们来正式开始使用该控件。
我做了个类似FlexCell控件自带演示程序的界面,使用CVI来使用实现该控件的所有操作。
1、添加菜单
从本节开始,我们将全面进行该控件的操作。菜单的制作方法我这里就不再说明,不知道的朋友可以参考我的视频教程,其中有菜单制作的所有过程。
2、格式说明
FlexCell控件支持自己格式的导入导出(.Cel)。XML文件的导入。EXCEL格式的导出,HTML格式的导出,XML格式的导出,CSV文件的导出。可以发现控件不能支持读取EXECL文件是一个比较遗憾的地方。所有的这些功能控件都已经为我们封装好了函数,无需我们CVI来操心。
//新建文件void CVICALLBACK NewFile (int menuBar, int menuItem, void *callbackData,??????? int panel){??? int Row,Colunm;??? //得到当前行列数??? FlexCell__GridGetRows (FlexTable, NULL, Row);??? FlexCell__GridGetCols (FlexTable, NULL, Colunm);
??? FlexCell__GridNewFile (FlexTable, NULL, NULL);
??? //设置行列数??? FlexCell__GridSetRows (FlexTable, NULL, Row);??? FlexCell__GridSetCols (FlexTable, NULL, Colunm); }
函数名称大家可以自己修改。这个函数比较有用,当你的控件已经进行了大量的读取和赋值后此时如果要清除所有单元格中的数据我们上一节使用过这种方法:
//设置为100行??????????? FlexCell__GridSetRows (FlexTable, NULL, 101);
??????????? //选择处理的行列范围??????????? FlexCell__GridRange (FlexTable, NULL, 1, 1, 100, 10, FlexTableRange); ??????????? //删除现有行??????????? FlexCell__RangeDeleteByRow (FlexTableRange, NULL);??????????? //添加新的100行??????????? FlexCell__GridSetRows (FlexTable, NULL, 101);
我们先心中当前所有的单元格,将它们删除,然后再添加同样的行数。这个方法在行列数多时会极大影响速度。现在我们使用控件提供的新建文件的方法来实现。
FlexCell__GridNewFile (FlexTable, NULL, NULL);这个函数不需要任何其它参数,给出控件的CA对象句柄即可。此时大家可以看到控件马上恢复为添加控件时初始状态。但是这样做会自己恢复为控件默认的5列10行。这和我们在CVI定义的100行10列不一样。每个用户也都有自己的初始数量。因此,我们在使用该函数前先得到下目前控件的行列数量,在新建文件后马上设置回来。这里的新建文件和WORD中新建文件是一样的,它之所以就像清除所有单元格是因为该控件是一个单文档界面,所以新建文件就等于清除了现在的内容直接显示为一个新的表格。在多文档形式中这样新建会出现一个新的窗口,当前的窗口内容没有变化。
?
//打开文件void CVICALLBACK OpenedFile (int menuBar, int menuItem, void *callbackData,??????? int panel){??? FlexCell__GridOpenFile (FlexTable, NULL, , NULL);}
该控件给我们高度封装了很多函数,我们后面使用的函数都是如此,这个打开文件的函数也不给任何参数,给了一个空字符串,函数定义如果给的是空字符串函数会自己先调用API的打开文件对话框(CVI中函数为FileSelectPopup)电你选择好需要打开的文件后函数自己处理将你选中的文件打开。省去了我们CVI打开文件的很多代码。当然你可以直接给函数传递一个文件路径“c:\\1.txt。注意该函数打开的文件只能是CEL文件(控件自己的格式)。且为十六进制加密文件。一般不能破解。
//保存文件void CVICALLBACK SaveFile (int menuBar, int menuItem, void *c
您可能关注的文档
最近下载
- 小升初基础专题专项突破句子赏析(试题)部编版语文六年级下册.docx
- Unit3 My weekend plan B let's talk and learn课件人教PEP英语六上.pptx
- 美丽汉字上海市小学生二届到十届2023年中文自修杯汉字小达人试卷(含参考答案).pdf
- 2024年无线电装接工(高级)职业技能考试题库大全(附答案).docx
- 九年级第一次模拟考后家长会.ppt VIP
- 河北机关事业单位工人考试图书仓储员试题(卷)与答案解析.doc
- 美丽汉字上海市小学生2023年第十届中文自修杯汉字小达人试卷(含答案).docx
- 医疗器械APQP新产品开发的资料.pdf
- 管径流量与压力关系表新.docx
- SOLIDWORKS中文版基础教程(SOLIDWORKS 2018版)PPT课件(全).pptx VIP
文档评论(0)