日历控件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值时,会出错。