软件注册站
热情软件屋

 
VFP6中引用VB编写的ActiveX控件,报告找不到.value属性
编号: QA003192    
建立日期: 2000年7月24日 最后修改日期: 2000年7月24日
所属类别: Visual Basic - ActiveX技术
   
    操作系统: 中文Windows 98第一版
    编程工具: VB5和VFP6
    问题: 您好,我用VB5建立了一个TextBox ActiveX控件和一个ComboBox ActiveX控件,但在VFP6中引用此ActiveX控件时,无法用.value属性去捕获这些ActiveX控件的值,请问我该如何解决?
    我建立这个控件的方法是:
    打开VB5,在“新建工程”窗口中选择“ActiveX控件”,然后进入到VB5设计界面,我是直接在工具栏上拖了一个TEXTBOX到表单上,调整好大小和填写了相应过程代码,我所填写的代码如下:
    Private Sub Text1_GotFocus()
     Text1.SelStart=0
     Text1.SelLength=Len(Trim(Text1.Text))
    End Sub
    
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
     If KeyCode = 13 Then
     SendKeys "{Tab}"
     End If
    End Sub
    然后在文件菜单中选择“生成工程1.ocx”选项来把此工程连编成.ocx文件。然后在VFP6的调用方法是:“工具->选项->控件->ActiveX控件->添加”的顺序来把此.ocx文件引用,然后再把此.ocx的控件添加到VFP6的表单上,但就是找不到.value属性!!!请问我能用什么方法在VFP6中去捕获这些自定义控件的值?谢谢!
    然后,我打算如果这个控件使用成功的话,我会用ComBox做一个ActiveX控件,实现输入时的增量查询功能,以用在VFP6上,用来弥补VFP6中的ComBox控件的不足!因为我觉得Text和ComBox的捕获值的方法都应该是一样的。
    水平: 中级(小麦)
   
    从你上面的叙述中,我没有发现你添加Value属性的步骤。除了Height、Width等几个最基本的属性,VB不会自动地为控件添加属性。你必须手工为自己的控件添加一个Value属性。添加属性的基本方法是在控件的代码窗口选择菜单“工具|添加过程”,在对话框中的“类型”选择“属性”单选框,并设定属性名称为Value。这样VB会在代码中添加
    Public Property Get Value() As Variant
    
    End Property
    
    Public Property Let Value(ByVal vNewValue As Variant)
    
    End Property
    其中,你应该在两个过程中添加代码,Property Get是当程序访问控件的Value属性发生,而Property Let是当用户给该属性赋值发生。
    更详细的介绍可以参考我写的《Visual Basic编程晋级:ActiveX控件》(http://china.zealsoft.com/articles/vbactivex/)一书。

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, ActiveX技术, activex, com, ado

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio