vb用户控件制作讲解与实例

合集下载

vb教程编程实例详解

vb教程编程实例详解

vb教程编程实例详解VB教程编程实例详解VB(Visual Basic)是一种面向对象的编程语言,它可以用于开发Windows应用程序。

在这里,我们将详细解释一些VB 编程实例,以帮助初学者更好地理解和掌握这门语言。

编程实例1:计算器首先,让我们创建一个计算器的VB程序。

我们将使用VB的窗体和按钮来实现这个功能。

首先,我们需要在窗体上添加一些按钮,如"1"、"2"、"+"、"="等。

然后,我们需要用一个文本框来显示计算结果。

在窗体上双击"+"按钮并添加以下代码:```Private Sub ButtonPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPlus.ClickDim num1 As IntegerDim num2 As IntegerDim result As Integernum1 = Integer.Parse(TextBoxNum1.Text)num2 = Integer.Parse(TextBoxNum2.Text)result = num1 + num2TextBoxResult.Text = result.ToString()End Sub```在这个代码中,我们首先定义了三个变量:num1、num2和result,用于存储计算结果。

然后,我们使用Integer.Parse方法将文本框中输入的文本转换为整数类型,并将其赋值给num1和num2。

接下来,我们将num1和num2相加,将结果赋值给result,并使用result.ToString()方法将结果转换为字符串类型并显示在结果文本框中。

编程实例2:学生成绩管理系统接下来,让我们创建一个学生成绩管理系统的VB程序。

简单易学 图文并茂 VB制作WPF自定义控件 范例1

简单易学 图文并茂 VB制作WPF自定义控件 范例1

简单易学图文并茂创作控件自己创作控件,分三种主要的形式:复合控件,扩展控件,和自定义控件。

复合控件,顾名思义就是把现有的进行组合,让它们协作形成功能强大的新控件;扩展控件,是以某一现有控件为基础,让它具有新的功能;自定义控件,则是由作者完全操刀,建立一个全新的控件。

可以用一个比喻来理解这三种形式的区别:复合控件,就是你买好各个电脑配件,组装成一台电脑;扩展控件,就是把显卡上的零件更换几个,让它能力比标准产品更强大;自定义控件,就是自己制作一个名为“生人勿近”的硬件,他可以通过PCI插槽,安装到电脑上,一旦生人走近,它能识别并发出狗叫……综上,三种形式中,复合控件相对来说是最简单的;扩展控件在其次;自定义控件最难。

通常,我们使用前两种技术,就能创作出很复杂的控件了。

范例1:Excel的单元格Cell,当它没有焦点的时候,就是一个TextBlock,当它获得焦点,可以编辑的时候,就是一个TextBox框。

这样一个控件,将是我们今后制作表格控件的基础。

范例1中,我们会用到两种技术,复合控件和扩展控件。

在VS中,要进行如下的工作(推荐使用VS2010)1.新建一个Solution,名为Cell;2.添加一个名为“TestAPP”的WFP项目。

我们用他来测试成果;3.添加一个名为“Ctrl_Cell”的WFP用户控件项目。

然后,我们需要一个TextBlock,和一个TextBox控件,这是我们的演员。

考虑一下它们应该怎样演出,才能达到我们需要的效果:●平时这个控件,应该表现出TextBlock的外观;●当我们点击这个Label时,隐藏的TextBox控件跑到TextBlock的前面,并且它显示的值和TextBlock一样。

同时,这个值是可以编辑的;●编辑完TextBox的内容,按下Enter,或者点击屏幕上的其他控件,让TextBox失去焦点,TextBox消失。

TextBlock跑到前面来,并且显示编辑后的内容。

vb开发ocx实例

vb开发ocx实例

vb开发ocx实例【最新版】目录1.什么是 OCX?2.VB 开发 OCX 实例的过程3.OCX 控件的使用方法4.总结正文一、什么是 OCX?OCX(Object Control Extension)是一种可重用的软件组件,它是由 Microsoft 开发的一种 COM(Component Object Model)控件技术。

OCX 控件可以在不同的编程语言和平台之间进行互操作,这使得开发人员可以更轻松地创建具有丰富功能的应用程序。

二、VB 开发 OCX 实例的过程1.创建一个新的 ActiveX 控件库项目首先,在 Visual Basic 中创建一个新的 ActiveX 控件库项目。

这可以通过选择“新建”>“ActiveX 控件库”来实现。

2.设计 OCX 控件接下来,设计 OCX 控件。

这包括为控件添加属性、方法和事件。

例如,可以添加一个名为“HelloWorld”的按钮,当单击该按钮时,会触发一个名为“OnButtonClick”的事件,并显示一条消息框。

3.编译和测试 OCX 控件完成控件设计后,编译并测试 OCX 控件。

这可以通过选择“编译”来实现。

如果编译成功,将生成一个名为“YourControl.ocx”的文件。

4.在 VB 应用程序中使用 OCX 控件现在,可以将 OCX 控件添加到 VB 应用程序中。

首先,将生成的“YourControl.ocx”文件复制到应用程序项目的“Controls”文件夹中。

然后,在 Visual Basic 中引用该控件,并在窗体上添加一个实例。

三、OCX 控件的使用方法1.引用 OCX 控件在 VB 代码中引用 OCX 控件,需要使用“Imports”语句。

例如,要引用上面创建的“YourControl.ocx”控件,可以添加以下代码:```Imports YourControl```2.创建 OCX 控件实例在 VB 代码中创建 OCX 控件实例,需要使用“CreateObject”函数。

简单易学 图文并茂 VB制作WPF自定义控件 范例1

简单易学 图文并茂 VB制作WPF自定义控件 范例1

简单易学图文并茂创作控件自己创作控件,分三种主要的形式:复合控件,扩展控件,和自定义控件。

复合控件,顾名思义就是把现有的进行组合,让它们协作形成功能强大的新控件;扩展控件,是以某一现有控件为基础,让它具有新的功能;自定义控件,则是由作者完全操刀,建立一个全新的控件。

可以用一个比喻来理解这三种形式的区别:复合控件,就是你买好各个电脑配件,组装成一台电脑;扩展控件,就是把显卡上的零件更换几个,让它能力比标准产品更强大;自定义控件,就是自己制作一个名为“生人勿近”的硬件,他可以通过PCI插槽,安装到电脑上,一旦生人走近,它能识别并发出狗叫……综上,三种形式中,复合控件相对来说是最简单的;扩展控件在其次;自定义控件最难。

通常,我们使用前两种技术,就能创作出很复杂的控件了。

范例1:Excel的单元格Cell,当它没有焦点的时候,就是一个TextBlock,当它获得焦点,可以编辑的时候,就是一个TextBox框。

这样一个控件,将是我们今后制作表格控件的基础。

范例1中,我们会用到两种技术,复合控件和扩展控件。

在VS中,要进行如下的工作(推荐使用VS2010)1.新建一个Solution,名为Cell;2.添加一个名为“TestAPP”的WFP项目。

我们用他来测试成果;3.添加一个名为“Ctrl_Cell”的WFP用户控件项目。

然后,我们需要一个TextBlock,和一个TextBox控件,这是我们的演员。

考虑一下它们应该怎样演出,才能达到我们需要的效果:●平时这个控件,应该表现出TextBlock的外观;●当我们点击这个Label时,隐藏的TextBox控件跑到TextBlock的前面,并且它显示的值和TextBlock一样。

同时,这个值是可以编辑的;●编辑完TextBox的内容,按下Enter,或者点击屏幕上的其他控件,让TextBox失去焦点,TextBox消失。

TextBlock跑到前面来,并且显示编辑后的内容。

VBA 中的用户界面控件操作方法

VBA 中的用户界面控件操作方法

VBA 中的用户界面控件操作方法VBA(Visual Basic for Applications)是一种在Microsoft Office应用程序中进行编程和自动化操作的编程语言。

它允许用户使用可视化方式创建用户界面,并与用户界面上的控件进行交互。

本文将介绍VBA中常用的用户界面控件操作方法,以帮助您更好地利用VBA来开发应用程序。

以下是一些常见的用户界面控件及其操作方法。

1. 文本框(TextBox)文本框是一个常用的用户界面控件,用于接收并显示用户输入的文本信息。

以下是一些常见的文本框操作方法:- 设置文本框的值:使用`TextBox.Value`属性可以获取或设置文本框中的文本值。

例如,使用`TextBox1.Value = "Hello World"`可以将文本框中的文本值设置为"Hello World"。

- 获取文本框的值:使用`TextBox.Value`属性可以获取文本框中的文本值。

例如,使用`MsgBox TextBox1.Value`可以显示文本框中的文本值。

- 清除文本框的值:使用`TextBox.Value = ""`可以清除文本框中的文本值。

2. 按钮(Button)按钮是用户界面中常用的控件,用于执行特定的操作。

以下是一些常见的按钮操作方法:- 添加按钮的点击事件处理程序:在VBA中,可以通过双击按钮来创建按钮的点击事件处理程序。

在事件处理程序中编写代码,以定义按钮被点击时所执行的操作。

例如,可以在按钮的点击事件处理程序中添加代码来显示一个消息框。

- 模拟按钮的点击:除了用户主动点击按钮外,还可以使用VBA代码来模拟按钮的点击操作。

例如,使用`CommandButton1_Click`来触发按钮的点击事件。

3. 列表框(ListBox)列表框是用于显示和选择多个选项的控件。

以下是一些常见的列表框操作方法:- 添加选项:使用`ListBox.AddItem`方法可以向列表框中添加一个新的选项。

vb开发ocx实例

vb开发ocx实例

vb开发ocx实例【原创版】目录1.OCX 控件的概述2.VB 开发 OCX 控件的步骤3.创建 OCX 控件4.在 VB 中使用 OCX 控件5.测试和调试 OCX 控件正文一、OCX 控件的概述OCX(Object Control Extension)控件是一种可重用的软件组件,可以用于开发各种应用程序。

它们是基于 COM(Component Object Model)技术的,可以在不同的编程语言和平台之间进行交互。

OCX 控件在 Visual Basic(VB)开发中非常常用,可以为程序增加功能和特性。

二、VB 开发 OCX 控件的步骤1.创建 OCX 控件:首先,需要使用适当的开发工具(如 Visual Studio)创建一个新的 OCX 控件项目。

在项目中,可以编写控件的属性、方法和事件处理程序等代码。

2.编译 OCX 控件:在开发过程中,需要定期编译 OCX 控件以确保没有错误。

编译完成后,会生成一个 OCX 文件,该文件包含了控件的二进制代码和相关资源。

3.在 VB 中使用 OCX 控件:在 VB 项目中,需要引用刚才创建的OCX 控件。

这可以通过在项目属性中的“引用”选项卡中添加 OCX 文件来完成。

4.测试和调试 OCX 控件:在 VB 项目中使用 OCX 控件后,需要对控件进行测试和调试,以确保其功能和性能符合预期。

三、创建 OCX 控件在创建 OCX 控件时,需要遵循以下步骤:1.打开 Visual Studio,并创建一个新的 ActiveX 控件项目。

2.在项目中添加控件的属性、方法和事件处理程序等代码。

3.编译项目,生成 OCX 文件。

四、在 VB 中使用 OCX 控件在 VB 中使用 OCX 控件,需要执行以下操作:1.打开 VB 项目,并在工具箱中找到 OCX 控件。

2.将 OCX 控件拖放到 VB 窗体上,并调整其大小和位置。

3.在代码中引用 OCX 控件,并设置其属性值。

2018-vb制作控件范例-推荐word版 (15页)

2018-vb制作控件范例-推荐word版 (15页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==vb制作控件范例篇一:VB用户控件制作讲解与实例制作用户控件,主要就是进行以下三项代码编写工作:1.定义控件的属性、事件和方法,其中属性是最常使用的。

2.保存和读取中间用户设置的属性值。

3.为达到你的预定目的而调用的各种技术手段。

在用户控件中定义的属性、事件、方法,其性质都必须是公用的,也就是说,只有用 Public 来定义,这样你才能在主程序代码中使用这些事件和方法,以及设置或获取这些属性值,也只有公用的属性才会在窗体页面相关控件的属性窗口显示出来。

一、属性属性是用户控件最基本的东东,用户控件可以没有事件,可以没有方法,但不能没有属性(当然,技术上来说是可以没有属性的,但这样的控件使中间用户无法进行任何设置,是没有什么意义的)。

那么,如何定义用户控件的属性呢?为用户控件添加属性有两种办法:1.公用变量法:public 变量名称 as 类型这里的变量名称就是属性名称。

这样定义的属性一般不会保存属性值,所以常常用作只读属性,在笔者的用户控件中,用于对主程序返回一个必要的值。

例如“四则运算”控件中的“ComputeAnswer”属性:Public ComputeAnswer As String它返回的是计算结果,而计算结果是不需要保存在控件中的,所以把它用公用变量法定义。

再例如消息框控件中的 FeedValue 属性:Public FeedValue As Integer '返回值它返回最终用户选中的消息框按纽的编号,这个编号也只需要在主程序中处理,而无需保存在控件中,所以也用公用变量法定义成只读属性。

2.property 过程法:public property Get 过程名称() as 类型……end propertypublic property Let 过程名称(new值 as 类型)……end property这里的过程名称就是属性名称。

VB常用控件与界面设计教程

VB常用控件与界面设计教程
公共教育学院 计算机教研室
返回
徐州医学院VB教程
常用窗体方法
Hide:隐藏方法 Show:显示方法; Move:移动方法 Print:打印方法;
Cls:清除方法
公共教育学院 计算机教研室
徐州医学院VB教程
常用窗体事件
Click:单击事件; DblClick:双击事件; Load:装载事件.当使用 Load 语句启动应用程序, 或引用未装载的窗体属性或控件时,此事件发生。 Resize:在窗体被改变大小时,会触发本事件; Activate :激活事件,当窗体变为当前窗口时,引发 本事件; Deactivate:失去激活事件
公共教育学院 计算机教研室
徐州医学院VB教程
3.1.2 定制/设置窗体属性 1、在设计状态下通过属性窗口进行设定 2、在程序代码中进行设置
[Object.]Property = Expression
例如:Form1.caption=“考试系统” 特别注意:某些属性只能在代码中进行设置或改变
公共教育学院 计算机教研室
Enabled属性决定控件是否允许操作: True:允许用户进行操作,并对操作作出 响应 False:禁止用户进行操作,呈灰色。
公共教育学院 计算机教研室
徐州医学院VB教程
Visible属性 Visible属性决定控件是否可见:
True:程序运行时控件可见 False:程序运行时控件隐藏,用户看不到,但控 件本身存在
外观
外观 行为
返回或设置对象中文本和 图形的前景色
返回或设置对象的边框样 式 决定对象是否活动 2 True
公共教育学院 计算机教研室
徐州医学院VB教程
3.1.1 窗体的属性、方法与事件

VB实现自我注册控件

VB实现自我注册控件

VB实现自我注册控件VB语言是一种面向对象的编程语言,可用于开发图形用户界面(GUI)应用程序。

在VB中,可以通过编写自定义控件来增强应用程序的功能。

本文将介绍如何使用VB实现自我注册控件。

1.创建自定义控件:首先,需要创建一个新的VB项目,并添加一个新的用户控件。

可以通过以下步骤完成:-在"解决方案资源管理器"窗口中,右键单击项目名称,选择"添加"->"新建项"。

-在弹出的对话框中选择"用户控件",并指定一个名称,然后点击"添加"按钮。

-在设计视图中,可以向控件添加所需的控件和代码,以满足应用程序的需求。

2.实现自我注册功能:自我注册是指在用户控件中编写代码来自动将控件注册到工具箱中,以便在其他项目中重复使用。

可以通过以下步骤实现自我注册功能:- 使用`ToolboxItem(true)`属性标记自定义控件类,使之能够在工具箱中显示。

- 编写一个自定义的设计器类,并使用`Designer`属性将其与自定义控件类关联。

-在用户控件的代码视图中,增加以下代码:```vb<ToolboxItem(True)><Designer(GetType(CustomControlDesigner))>Public Class CustomControl'控件的代码和属性'控件的构造函数和事件处理方法End ClassPublic Class CustomControlDesignerInherits System.Windows.Forms.Design.ControlDesignerDim svc As ITypeResolutionService =CType(Me.GetService(GetType(ITypeResolutionService)), ITypeResolutionService)svc.ReferenceAssembly(System.Reflection.Assembly.GetExecutin gAssembly(.Location)Dim typeName As String = Me.GetType(.Namespace & "." & Me.GetType(.Name.Substring(0, Me.GetType(.Name.Length - "Designer".Length)Dim type As Type = svc.GetType(typeName)If (type IsNot Nothing) ThenDim host As IDesignerHost =CType(Me.GetService(GetType(IDesignerHost)), IDesignerHost) Dim tp As ToolboxItem = New ToolboxItem(type.FullName)Dim tlh As System.Drawing.Design.ToolboxItemCreatorCallback = New System.Drawing.Design.ToolboxItemCreatorCallback(AddressOf CreateInstance)type.Assembly.GetCustomAttributes(GetType(ToolboxItemAttribu te), False)HosttoolboxService.AddCreator(tlh, tp)End IfEnd SubPrivate Function CreateInstance(ByVal serializedObject As icContainer, ByVal reportedError As String) As Object Return cf.CreateInstance(serializedObject, reportedError)End FunctionEnd Class```通过以上步骤,自定义控件将被自动注册到工具箱中,并可以在其他VB项目中使用。

VB表格控件总览与例程说明

VB表格控件总览与例程说明

VB表格控件总览与例程说明一.表格控件总览:在VB开发环境中,表格控件在界面开发元素中占有重要的地位。

它不仅有外观整洁、表达形式规范的优点,而且更重要的是它较高的信息表现率(就是相对于其他控件来说能够表达更多的信息),随着信息时代的到来,它的应用将更加的广泛。

那么在VB平台下,如何操作这一功能强大的控件元素呢?事实上我们知道,VB平台下面的表格控件是相当丰富的,总结下来提供了4种类型:Microsoft Data Bound grid Control、Microsoft Datagrid Control、Microsoft Flexgrid Control、Microsoft Hierarchial Flexgrid Control.这四种表格各有其特点,下面我们一一讨论。

1. Microsoft Data Bound grid Control此控件主要用于数据绑定(可以不绑定,但是因为不提供对单个cell的控制支持,所以实际上这样做是不经济的)。

具体说来,就是数据源比较固定的情况下可以使用这种控件。

具体使用方法是设定此控件的datasource属性,就可以不用编写任何代码就可以显示该数据源所指向的记录数据。

比如可以将datasource设置为一个data控件,而data控件又指向数据库"成绩"的一个"语文"表,那么当程序运行时,它就自动显示此"语文"表的数据。

从上面的分析看得出来,这个控件虽然操作方便,但是它也有局限性,就是不能对显示的数据进行灵活的控制操作,比如有些数据允许用户修改,有些数据却不允许用户修改,而此控件却只能提供全部数据源的原子操作:即要么全部允许修改,要么就全部不允许。

还有另外此控件也不提供对单个单元格(cell)进行操作,所以提供不了更为个性化的界面风格。

2. Microsoft Datagrid Control此控件跟前面介绍的Data Bound grid Control控件很相似,也是主要进行绑定操作,而缺点和Data Bound grid Control完全一样。

vb开发ocx实例

vb开发ocx实例

vb开发ocx实例摘要:一、VB开发OCX控件背景1.VB与OCX控件的关系2.VB开发OCX控件的优势二、VB开发OCX控件步骤1.创建一个新的VB项目2.编写OCX控件代码3.创建OCX控件的属性4.创建OCX控件的方法5.编译和注册OCX控件三、VB开发OCX控件实例1.一个简单的计算器OCX控件2.实现计算器功能的方法3.将计算器OCX控件嵌入到其他应用程序中四、VB开发OCX控件的注意事项1.兼容性问题2.安全问题3.优化OCX控件性能正文:VB开发OCX实例一、VB开发OCX控件背景作为一款功能强大的编程语言,VB(Visual Basic)广泛应用于各种开发场景。

OCX(OLE Control eXtension)控件是一种可重用的组件,可以在不同的应用程序之间共享。

通过VB开发OCX控件,可以充分利用VB的优势,实现更加灵活和高效的应用程序开发。

二、VB开发OCX控件步骤1.创建一个新的VB项目首先,打开Visual Basic开发环境,新建一个标准VB项目。

在“项目”菜单中,选择“添加”→“类模块”,新建一个名为“MyOCX”的类模块。

2.编写OCX控件代码在“MyOCX”类模块中,编写控件的属性和方法。

例如,我们可以创建一个简单的计算器OCX控件,包括两个文本框(用于输入和显示结果)和四个按钮(用于执行加、减、乘、除操作)。

```vbPrivate m_strInput As StringPrivate m_strResult As StringPublic Property Input() As StringGetReturn m_strInputEnd GetSetm_strInput = ValueEnd SetEnd PropertyPublic Property Result() As StringGetReturn m_strResultEnd GetSetm_strResult = ValueEnd SetEnd PropertyPublic Sub Calculate()Dim strExpression As StringDim objParser As New ParserstrExpression = Input & " " & Me.Controls("btn" & Eval("btn" & Me.Controls.Count - 1).Name).Captionm_strResult = objParser.Evaluate(strExpression)End Sub```3.创建OCX控件的属性在“MyOCX”类模块的代码窗口中,按F4键创建Input和Result属性。

VB控件教程

VB控件教程

VB控件教程大全一、Datagrid控件DataGrid1.Columns.Remove(0) '删除0号字段DataGrid1.Columns.Add(0).Caption=”姓名” '标签头DataGrod1.Columns(0).DataField=”Name” '对应的字段Adodc1.Refresh 设定DataGrid格式的有用的属性:BackColor —设定背景颜色。

Font —设定DataGrid的字体信息。

字体信息包括使用何种字体、字号,是否粗体,斜体等。

CellPadding —设定HTML表格中单元格内的边距。

CellSpacing—设定HTML表格中单元格之间的间距。

Width —设定HTML表格的宽度(可以以像素、百分比等为单位) HorizontalAlign —设定表格在页面上的对齐方式(左对齐、右对齐、居中、未设定) 一个使用上述属性而使得表格变得漂亮的例子如下所示。

请注意DataGrid的Font属性是一个对象,它指向了FontInfo类,FontInfo类包括Size, Name, Bold, Italic等属性。

为了设定Font对象所指向类的属性,必须通过连字符(-)完成。

这类似于和C#语言中表示对象属性的点(.)。

1、使用DataGrid 控件DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示Recordset 对象的记录和字段。

可以使用DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。

DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。

当在设计时设置了DataGrid 控件的DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。

然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。

在运行时,可以在程序中切换DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。

VB控件教程大全(详细)

VB控件教程大全(详细)

第三章
VB 6.0的常用控件
当文本框失去了焦点(处于非活动状态)时就会产生LostFocus事件
3.1 标签与文本框 3.2 图片框和图像框 3.3 按钮控件 3.4 复选框和单选 框 3.5 列表框和组合框 3.6 滚动条 3.7 计时器 3.8框架 3.9 窗体布局 3.10 使用ActiveX控件 (4)SetFocus方法 SetFocus方法可以用于将焦点移动到指定的对象,是文本框较常用的. 格式: [对象.]SetFocus 3.1.3 应用举例 例3.1: 利用LostFocus事件 改变文本框中的内容。 在 窗 体 form1上 建 立 两 个 文 本框分别是Text1、Text2, 下 面 在 form1 的 load 事 件 过 程中作如下设置: 该方法可以把光标移到指定的文本框中 Private Sub Form_Load() Form1.Text1.Text="" Form1.Text2.Text="" Form1.Text1.Font="宋体" Form1.Text2.Font="宋体" Form1.Text1.FontSize=14 Form1.Text2.FontSize=14 Form1.Text1.BackColor=vbBlack Form1.Text1.ForeColor=vbWhite Form1.Text2.ForeColor=vbBlue Form1.Text2.BackColor=vbRed Form1.Show Form1.Text1.SetFocus End Sub
3.1 标签与文本框 3.2 图片框和图像框 3.3 按钮控件 3.4 复选框和单选 框 3.5 列表框和组合框 3.6 滚动条 3.7 计时器 3.8框架 3.9 窗体布局 3.10 使用ActiveX控件 标签所具有的其它属性:

如何用VB6做控件

如何用VB6做控件

如何用VB6做控件一、这话儿的由头说起这用VB6做控件────哎,是偶从事&#8220;挨踢&#8221;行业以来最糗的三件事儿之一。

这做控件的事儿,早就想学,也学过N多回。

────自从九六还是九七年,就一直想学,也学过N多回。

────偶介个二十多年的老程序员,够糗滴吧!!!!!!这些年来,为这事儿没少烦心────眼瞅着,人家一初中、高中一爱好者,都玩得溜溜儿滴,俺这老帮子怎么就不灵呢?说来话长。

这些年来,为这事儿,偶买书,就为只要粘上有这事儿的书,就买。

买了五、六本儿,好几百的银子呢!!!!!!哭啊!!!!!!泪都哭干了。

哼。

这些书,要不然就是说个不明不白的例子,几乎都是互相抄────可俺需要滴东西,就是楞没有啊?偶要什么?简单啊?就几个问题:问题一:制作一个控件的基本过程────简单说吧,就是怎么着,怎么弄,怎么整,能搞出来一个叫OCX的标准控件,而且能放之四海皆好用。

这个东西,要比照着书做,做一个嘛用也没有的控件,早就会了。

可以要做个真正有用的,就在下面这个问题上卡住了。

问题二:这控件的属性────偶自已定义来用的,特别属于偶滴属性────怎么搞?怎么设定有几个属性,怎么设定属性值,怎么取出属性值这三个问题,就楞没找到一本书啊!!!!!!这个问题,可是偶滴心结。

记得是VB3开始,就可以搞控件,可必须通过什么&#8220;向导&#8221;来做。

搞得好麻烦。

一直没搞懂。

这VB自制控件的属性三问题,就一直&#8220;遗传&#8221;了偶小十年,成了个不大不小的心结。

今天,终于整成了。

这破微软,就告诉咱怎么直接自已敲代码多简单,非得搞出许多&#8220;向导&#8221;,让身为行家滴偶捆手绑脚────缺德透顶了。

────您微软想想,都玩自制控件了,有外行吗?你有得着把这么简单的代码操作,非用&#8220;向导&#8221;给&#8220;藏&#8221;起来,就楞不让咱自已会用啊?问题三:怎么生成控件和怎么发布使用控件这不是问题,自打一会用控件,第一件事就是试试加载不是微软这强盗加流氓的东西做出来的控件。

vb开发ocx实例 -回复

vb开发ocx实例 -回复

vb开发ocx实例-回复VB开发OCX实例前言VB是一种非常受欢迎的开发语言,而OCX是一种能够在Windows环境下被复用的组件对象模型(COM)控件。

本文将介绍如何使用VB来开发一个OCX控件实例。

首先,让我们先了解一下VB开发和OCX控件的概念。

第一步:VB开发概述VB(Visual Basic)是一种基于事件驱动的编程语言,其简洁易懂的语法和IDE(集成开发环境)使得开发人员能够快速构建各种应用程序。

VB 可以用于开发桌面应用程序、Web应用程序和数据库应用程序等。

第二步:OCX控件概述OCX控件是COM(组件对象模型)组件的一种形式,它允许开发人员将可复用的功能封装为独立的控件,以便在不同的应用程序中重复使用。

OCX控件可以在VB、C++、C#等编程语言中调用和使用。

第三步:创建VB项目首先,我们需要创建一个VB项目,以便开始开发OCX控件。

打开VB开发环境,点击“新建项目”,选择Windows桌面应用程序。

给项目命名并选择保存位置后,点击“确定”来创建项目。

第四步:添加OCX控件在VB项目中,我们可以通过添加OCX控件来扩展应用程序的功能。

点击“项目”->“添加引用”来添加OCX控件。

在弹出的对话框中,选择“浏览”按钮并找到OCX控件的文件路径,然后点击“确定”将其添加到项目中。

第五步:设计界面在VB中,我们可以使用拖拽的方式来设计界面。

通过工具箱中的控件,将所需的控件拖拽到窗体中,并根据需要设置其属性。

可以通过双击控件来编写相应的事件处理程序。

第六步:编写代码逻辑在VB项目中,我们可以使用VB语言来编写代码逻辑。

可以通过双击按钮等控件来编写事件处理程序,在其中调用OCX控件提供的方法和属性。

可以使用VB的面向对象特性来操作OCX控件。

第七步:调试和运行在完成代码编写后,我们可以通过调试来检查应用程序的运行情况。

单击“调试”->“开始调试”来启动调试模式,在其中可以逐步跟踪代码并查看变量的值。

vb6.0 工程中的用户控件用法

vb6.0 工程中的用户控件用法

vb6.0 工程中的用户控件用法
在VB6.0工程中,用户控件是一种自定义控件,它允许开发人
员创建自己的控件并在应用程序中重复使用。

用户控件的使用可以
提高代码的重用性和可维护性,以下是用户控件的用法:
1. 创建用户控件,首先,在VB6.0中,你可以通过选择“项目”菜单下的“添加用户控件”选项来创建一个新的用户控件。

然后,
你可以在用户控件的设计视图中添加其他控件,设置它们的属性,
并编写相应的事件处理程序。

2. 自定义属性和方法,用户控件可以具有自定义的属性和方法,这使得它们更加灵活和易于使用。

你可以在用户控件的代码模块中
定义公共属性和方法,以便在使用该控件的代码中进行访问和调用。

3. 重用用户控件,一旦你创建了用户控件,你可以在同一工程
中的多个窗体或其他用户控件中重复使用它。

这样可以减少重复编
写相似代码的工作量,提高开发效率。

4. 事件处理,用户控件可以包含自己的事件,当用户与控件交
互时,这些事件可以被触发并进行相应的处理。

你可以在用户控件
的代码中编写事件处理程序来响应这些事件。

5. 数据绑定,用户控件可以支持数据绑定,这意味着你可以将用户控件与数据源进行关联,实现数据的显示和编辑。

通过在用户控件中编写适当的代码,你可以实现数据绑定功能。

总的来说,用户控件在VB6.0工程中的使用可以提高代码的模块化程度和可重用性,使得开发工作更加高效和灵活。

通过合理设计和使用用户控件,你可以更好地组织和管理你的代码,提高应用程序的质量和可维护性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.定义控件的属性、事件和方法,其中属性是最常使用的。

2.保存和读取中间用户设置的属性值。

3.为达到你的预定目的而调用的各种技术手段。

在用户控件中定义的属性、事件、方法,其性质都必须是公用的,也就是说,只有用Public 来定义,这样你才能在主程序代码中使用这些事件和方法,以及设置或获取这些属性值,也只有公用的属性才会在窗体页面相关控件的属性窗口显示出来。

一、属性属性是用户控件最基本的东东,用户控件可以没有事件,可以没有方法,但不能没有属性(当然,技术上来说是可以没有属性的,但这样的控件使中间用户无法进行任何设置,是没有什么意义的)。

那么,如何定义用户控件的属性呢?为用户控件添加属性有两种办法:1.公用变量法:public 变量名称as 类型这里的变量名称就是属性名称。

这样定义的属性一般不会保存属性值,所以常常用作只读属性,在笔者的用户控件中,用于对主程序返回一个必要的值。

例如“四则运算”控件中的“ComputeAnswer”属性:Public ComputeAnswer As String它返回的是计算结果,而计算结果是不需要保存在控件中的,所以把它用公用变量法定义。

再例如消息框控件中的FeedValue 属性:Public FeedValue As Integer '返回值它返回最终用户选中的消息框按纽的编号,这个编号也只需要在主程序中处理,而无需保存在控件中,所以也用公用变量法定义成只读属性。

2.property 过程法:public property Get 过程名称() as 类型……end propertypublic property Let 过程名称(new值as 类型)……end property这里的过程名称就是属性名称。

而property 过程法又有两种:一种是如上所述的标准过程法,另一种就是枚举法。

㈠标准过程法这是用得最多的一种属性定义方法。

在用户控件的代码页面选中“工具→添加过程”,会跳出一个对话框,然后在单选按纽中选择“属性”,再在“名称”栏中输入属性名,点击确定,VB 就会自动生成上述的几行代码,你将“类型”改为你所需要的,再输入相关代码即可。

标准过程法中,Get 过程和Let 过程一般是成对出现的。

例如“闪烁标签”控件中定义闪烁时的前景颜色FlickerForeColor 属性的代码:Public Property Get FlickerForeColor() As OLE_COLOR '闪烁时的文字色FlickerForeColor = mGlintForeColorEnd PropertyPublic Property Let FlickerForeColor(ByVal newColor As OLE_COLOR) mGlintForeColor = newColorPropertyChanged "FlickerForeColor"End Property这两段代码中的“OLE_COLOR”是颜色数据类型,实质上也是长整形的数据类型,但它会自动调出颜色对话框。

“FlickerForeColor”是属性名称,在窗体界面相关控件的属性窗口中显示的就这个属性名称。

而“mGlintForeColor”是中间变量,中间变量是私用的,用Dim 定义即可。

在用过程法定义属性时通常都需要中间变量。

中间变量的身份是“代表”(代表属性名),作用有两个,一是上传下达,在Get/Let 过程与ReadProperties/WriteProperties 过程中充当“邮递员”;二是参与,在许多别的过程中都要与中间变量打交道。

Get 过程的作用是获取相关的属性值,并将属性名称和属性值显示在属性窗口(如果你去掉这个过程,在属性窗口就不会出现相关的属性名称和属性值了)。

它在三种情况下被激活:①中间用户在窗体页面刚刚把焦点移到窗体上的控件时(例如点击该控件),在属性窗口显示出原先设置的属性值;②中间用户在属性窗口修改了属性值,在属性窗口显示出修改后的属性值;③程序运行中用代码获取属性值时,假设窗体代码有这么一句:RGB = Cipher.BackColor,那么也会激活该过程。

Let 过程的作用是设置相关的属性值,它在两种情况下被激活:①中间用户在属性窗口修改了控件的属性值(执行顺序是:Get 过程→Let 过程→Get 过程);②程序运行中用代码设置新的属性值时,例如:Cipher.BackColor = RGB。

变量NewValue 是被赋的新值(这个变量名是可以改变的),你可以把得到的NewValue 的值按自己的需求作任何用途。

要注意的是,如果这个属性是一个对象,那么就不能用Let 过程而必须用Set 过程了,这是因为保存在控件内部的对象变量,保存的并不是对象的拷贝,而只是对象的引用(也就是一个内存地址)。

所以在它的Get 和Set 两个属性过程中,均须在等式的前面加上“Set”关键字。

来看看“四则运算”控件中的有关代码:Public Property Get Font() As FontSet Font = Text1.FontEnd PropertyPublic Property Set Font(ByVal newFont As Font)Set Text1.Font = newFontPropertyChanged "Font"End Property这是设置文本框的Font 属性的,而Font 本身也是一个对象,所以必须使用Set 了。

还有Picture 属性也是如此,它也必须使用Set 过程。

然而,它这个对象却有一点特殊之处:如果你想在程序运行当中使用LoadPicture 语句动态加载图片的话,你就必须给它增加一个Let 过程,否则,你将只能在设计模式时在属性窗口加入图片。

而新增的Let 过程中不需要任何代码,只要一个注释符就行了。

以“酷时钟”控件中的Picture 属性为例:Public Property Get Picture() As PictureSet Picture = UserControl.PictureEnd PropertyPublic Property Set Picture(ByVal NewPic As Picture)Set UserControl.Picture = NewPicPropertyChanged "Picture"End PropertyPublic Property Let Picture(ByVal NewPicture As Picture)'End Property㈡枚举法枚举是一种很常见的的方式,它提供了一个下拉列表和若干选项让用户选择。

这样既方便了用户的操作,又不用考虑过多的兼容性和错误处理问题,简化了属性设置,而且更加安全。

要实现枚举法,首先必须建立一个枚举结构,放在声明部分,然后在结构中给出一系列的常量和对应的字符串。

后面的常量值必须是比前面常量值大的整数。

如果没有给出常量,那么VB 会自动为其赋值,第一个字符串赋值为零,其它的值则为前面一个数加一。

例如在“特效标签”控件中,字体打印特技的枚举结构声明:Public Enum cTxtEffect雕刻'自动赋值=0立体'自动赋值=1浮雕'自动赋值=2End Enum如果你要为项目赋值为从 1 开始,也是可以的(当然有关代码要改一下):Public Enum cTxtEffect雕刻= 1立体= 2浮雕= 3End Enum要实现枚举属性,还必须创建一个带有Let 和Get 属性过程的标准属性,但必须将属性的类型声明为枚举类型。

仍以“特效标签”控件为例,你还必须有这样两个过程:Public Property Get TxtEffect() As cTxtEffectTxtEffect = mTxtEffectEnd PropertyPublic Property Let TxtEffect(ByVal NewValue As cTxtEffect)mTxtEffect = NewValuePropertyChanged "TxtEffect"End Property注意这两个过程中的数据类型都改为了cTxtEffect。

枚举属性的读、写、保存和检索,都和标准属性是一样的。

3.保存或读取属性值上述的Let 过程中的PropertyChanged 方法是用户控件特有的方法,其作用是,通知系统某个属性发生了改变,系统根据具体情况决定是否将改变后的属性值保存到属性包(或 .frm 文件)中。

所谓具体情况是指:在设计模式(正在被中间用户使用)就保存,在运行模式(正在被最终用户使用)就不保存。

比如你的程序代码中有这么一句:Cipher.BackColor = RGB,那么运行该程序到这一句时,就会将Cipher 控件的背景色改变为RGB 所代表的颜色,但不会将这个RGB 值保存到属性包中,所以,下次你运行程序时,只要没有运行到这一句,Cipher 控件的背景色依然是你设计时的颜色。

保存属性值是由WriteProperties 事件过程执行的,在销毁创建的控件之前,该事件会根据PropertyChanged 方法的提示,以及当时的运行模式,来决定是否通知PropertyBag 对象把数据写入属性包(或 .frm 文件)中。

保存时,所有在该事件过程中的属性值都会同时保存,而不仅仅是保存某一个提示改变的属性值。

读取属性值是由ReadProperties 事件过程执行的,在创建控件之前,该事件会通知PropertyBag对象从属性包(或 .frm 文件)中把保存的所有属性值都同时读取出来,读出的数据由Get 过程使用。

PropertyBag 对象是具体实施保存或读取功能的,它有两个方法:WriteProperty 方法用来写属性值,ReadProperty 方法用来读属性值。

特别提醒:对于新手来说,一定要搞清楚cTxtEffect、mTxtEffect、TxtEffect 和“TxtEffect”这四个东东的意义:cTxtEffect:是结构名。

mTxtEffect:是代表cTxtEffect 结构中某个项目值的中间变量,如果没有枚举结构,则是代表属性值的中间变量,它是模块级的变量。

TxtEffect:是属性名,它会出现在窗体页面的属性窗口中。

“TxtEffect”:是保存到属性包时所用的名称,笔者为了方便,把它与属性TxtEffect 取了同一个名称,但并不是同一个概念,它只出现以下在三个方法中:PropertyChanged 方法、ReadProperty方法以及WriteProperty 方法中,你完全可以另外取个名,但在这三个方法中必须是完全同名的。

相关文档
最新文档