首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

日历控件Olecontro1的使用有关问题,希望高手帮忙解决

2012-03-26 
日历控件Olecontro1的使用问题,希望高手帮忙解决!首先我现在用的是VFP6.0版本。我想做的事情就是输入一个大

日历控件Olecontro1的使用问题,希望高手帮忙解决!
首先我现在用的是VFP6.0版本。
我想做的事情就是输入一个大于今天的时间段。比如一个文本框中输入“2007年4月一日”,另一个文本框中输入一个大于第一个文本框中的数据,却“2007年5月三日”。

我想这样做,当点击任一个文本框中,它的右下角出现日历控件,然后在里面选择年月日,当选择了之后自动把年月日填到文本框中,日历控件消失。


请大家来帮帮我好吗?

[解决办法]
就用VFP自带的控件 MSCOMCt2.ocx ,在上面直接选择多方便呀。
(DateTimePicker)

为什么用个文本框还要用个日历控件。
[解决办法]
完全按你的要求也是可以的:

设文本框名为:TEXT1
日历控件名为:OLECONTROL1

TEXT1的Click事件:

thisform.olecontrol1.visible=.t.
thisform.olecontrol1.setfocus()


OLECONTROL1的Change事件:

thisform.text1.value=ttod(this._value)
this.visible=.f.


OLECONTROL1的Init事件:
this.visible=.f.

[解决办法]
有这个控件,文件名:MSCOMCt2.ocx
[解决办法]
应该在你的工程里面选择自定义类库就行了

如果需要注册话
老大给了一个注册的方法:
IF FILE( 'xpbutton.ocx ')
oll=CREATEOBJECT( 'Wscript.shell ')
IF oll.RUN( "REGSVR32 /S xpbutton.ocx ",0,.T.)!=0 &&注册
MESSAGEBOX( '控件注册失败! ',16, '信息提示 ')
ENDIF
*oll.RUN( "REGSVR32 /U /S xpbutton.ocx ",0,.T.) &&解除注册
RELEASE oll
ELSE
waitstr= "缺少 mscomctl.ocx 文件... "
WAIT waitstr WINDOWS AT SROWS()/2,(SCOLS()-LEN(waitstr))/2 TIMEOUT 5
CLOSE ALL
CLEAR ALL
RETURN
ENDIF

[解决办法]
打开VFP6.0
工具 菜单
选项 菜单
控件 选项卡
在ActiveX控件内选择 Microsoft Date and Time Picker Control 6.0
设置为默认值
确定

打开表单
在表单控件(按钮就是这里选的)里先ActiveX控件,就会看见Microsoft Date and Time Picker Control 6.0
将这个控件拖放到表单上即可。
[解决办法]
豆三说的那个控件不好用,

小黑要的功能建议使用双击弹出控件,日期控件放在另一个表单上,

在文本框的DBCLICK中写:do form setdate with this.value to this.value

在setdate表单中接收已设置的值,并检验其合法性,选择完了返回一个日期值
[解决办法]
如果有数据绑定,最好不要直接绑定,因为vfp的null与ado的null不同,有null值时,会出错。

热点排行