数据控件需要一个用户界面,允许用户在数据中向前或向后移动。在这种情况下,我们将使用四个 CommandButtons、一个 Label 控件以及一个 PictureBox 作为容器来复制熟悉的 Data 控件的功能和外观。
注意 该主题是帮助您创建示例数据源控件系列主题的一部分。创建数据源是第一部分。
要添加组成控件到 MyData 控件,请按照以下步骤执行:
属性 | 值 |
BackColor | &H80000005 (Window Background) |
Width | 4500 |
属性 | 值 |
(Name) | cmdFirst; cmdPrev; cmdNext; cmdLast |
Caption | (Empty) |
Picture | First.bmp; Prev.bmp; Next.bmp; Last.bmp |
Style | 1 - Graphical |
Width | 300 |
注意 Picture 属性的位图可以在与 AXData 示例应用程序相同的目录中找到。
属性 | 值 |
(Name) | lblCaption |
BackStyle | 0 - Transparent |
Caption | MyData |
Private Sub UserControl_Resize()
Picture1.Move 0, 0, Width, Height
cmdFirst.Move 0, 0, cmdFirst.Width, Height - 60
cmdPrev.Move cmdFirst.Left + cmdFirst.Width, 0, _
cmdPrev.Width, Height - 60
cmdLast.Move (Width - cmdLast.Width) - 60, 0, _
cmdLast.Width, Height - 60
cmdNext.Move cmdLast.Left - cmdNext.Width, 0, _
cmdNext.Width, Height - 60
lblCaption.Height = TextHeight("A")
lblCaption.Move cmdPrev.Left + _
cmdPrev.Width, ((Height - 60) _
/ 2) - (lblCaption.Height / 2), _
cmdNext.Left - (cmdPrev.Left _
+ cmdPrev.Width)
End Sub
当 MyData 被初始化时,或每当它调整大小重新排列组成控件并提供一个一致的外观时,将执行这段代码。
Public Property Get Caption() As String
Caption = lblCaption.Caption
End Property
Public Property Let Caption(ByVal NewCaption As String)
lblCaption.Caption = NewCaption
PropertyChanged "Caption"
End Property
Option Explicit '
枚举BOFAction
属性。Public Enum BOFActionType
adDoMoveFirst = 0
adStayBOF = 1
End Enum
'
枚举EOFAction
属性。Public Enum EOFActionType
adDoMoveLast = 0
adStayEOF = 1
adDoAddNew = 2
End Enum
'
为ADO
连接和Recordset
对象声明对象变量。Private cn As ADODB.Connection
Private WithEvents rs As ADODB.Recordset
'
缺省属性值:Const m_def_RecordSource = ""
Const m_def_BOFAction = BOFActionType.adDoMoveFirst
Const m_def_EOFAction = EOFActionType.adDoMoveLast
Const m_def_ConnectionString = ""
'
属性变量:Private m_RecordSource As String
Private m_BOFAction As BOFActionType
Private m_EOFAction As EOFActionType
Private m_ConnectionString As String
Private Sub UserControl_InitProperties()
m_RecordSource = m_def_RecordSource
m_BOFAction = m_def_BOFAction
m_EOFAction = m_def_EOFAction
lblCaption.Caption = Ambient.DisplayName
m_ConnectionString = m_def_ConnectionString
Set UserControl.Font = Ambient.Font
End Sub
详细信息 请参阅“创建 ActiveX 控件”中的“绘制 ShapeLabel 控件”和“添加事件到 ShapeLabel 控件”。
该主题是帮助您创建示例 ActiveX 数据源系列主题的一部分。
要 | 请参阅 |
到下一步骤 | 添加 AXDataSource 工程 |
从头开始 | 创建数据源 |