原创 第9节 CVI添加日历控件及操作

2020-6-7 20:57 5823 23 23 分类: 软件与OS 文集: Labwindows技术板块

1、如何添加日历控件

1)在需要添加日历控件的界面,点击鼠标右键,选择“ActiveX…”,如图3-1所示。然后进入选择外部插件的界面,如图3-2所示。

3-1 添加外部控件

3-2 选择日历控件

2)在图3-2中找到Microsoft Date and Time Picker Control 6.0(SP6),然后界面上就会出现你需要的控件。

有时候会发现自己的电脑中没有该插件,此时需要安装该驱动。在网上下载MSCOMCT2.OCX驱动,然后解压复制到C:\windows\system32\文件下。然后以管理员身份启动cmd.exe,对驱动进行安装。输入命令:regsvr32 c:\Windows\system32\MSCOMCT2.OCX,回车就会提示安装完成。如果出现安装失败,最大的可能是没有以管理员身份启动cmd.exe

3)在面板上,选择该日历控件,右键选择生成驱动,如图3-3所示。并对生产的驱动进行路径及其他设置。如图3-4所示。

3-3 生产日历控件驱动

4)图3-4所示,勾选“Add .fp File To Project”,并点击“Browse..”按钮选择键.fp文件存放的位置。点击“Next”进入其他更多选项设置,此处直接选择“Next”,然后系统会自动生成驱动文件,并加载到工程文件中。如图3-5所示,在Instrument Files中会出现生成的驱动文件mscomct2.fp

3-4 驱动参数设置

3-5 文件列表

2、日历控件的操作

1)第一步,获取日历控件的句柄。采用函数GetObjHandleFromActiveXCtrl获取所创建ActiveX对象句柄,其函数形式如下:

int GetObjHandleFromActiveXCtrl (int panelHandle, int controlID, CAObjHandle *objectHandle);

int panelHandle —— 控件所放置的界面句柄;

int controlID  —— 控件的ID编号

CAObjHandle *objectHandle —— 返回控件的句柄

实际代码如下:

CAObjHandle objhandle1//初始化控件句柄变量

GetObjHandleFromActiveXCtrl(panel,TABPANEL_DTPICKER,&objhandle1);//获取外部控件的句柄

2)第二步,设置控件的显示格式,采用MSComCtl2_IDTPickerSetFormat函数进行操作,函数形式如下:

HRESULT CVIFUNC MSComCtl2_IDTPickerSetFormat(CAObjHandle objectHandle,ERRORINFO *errorinfo, enum MSComCtl2Enum_FormatConstants penumFormat);

penumFormat: 为枚举类型。有四种预定义格式。dtpLong为长日期格式,如“2006514日”;dtpShort为短日期格式,如“2003-5-15”;dtpTime为时间格式,如“11:20:00”;dtpCustom为用户自定义格式。

3)第三步,读取信息。

       VARIANT pvday;

       VARIANT pvmonth;

       VARIANT pvyear;

       //获取当前日期

       MSComCtl2_IDTPickerGetDay(objhandle1,NULL,&pvday);

       //获取当前月份

       MSComCtl2_IDTPickerGetMonth(objhandle1,NULL,&pvmonth);

       //获取当前年份

       MSComCtl2_IDTPickerGetYear(objhandle1,NULL,&pvyear);

注意,该处的年月日的参数格式是VARIANT格式,需要用格式转换函数得到我们需要的参数格式。如下可以将VARIANT格式转化为short型。

CA_VariantGetShort(&pvyear,&syear);

CA_VariantGetShort(&pvmonth,&smonth);

CA_VariantGetShort(&pvday,&sday);

作者: sharcky, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-221763.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
23
关闭 站长推荐上一条 /3 下一条