数据控件需要一个用户界面,允许用户在数据中向前或向后移动。在这种情况下,我们将使用四个 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 BOFActionTypeadDoMoveFirst = 0adStayBOF = 1End Enum'枚举EOFAction属性。Public Enum EOFActionTypeadDoMoveLast = 0adStayEOF = 1adDoAddNew = 2End Enum'为ADO连接和Recordset对象声明对象变量。Private cn As ADODB.ConnectionPrivate WithEvents rs As ADODB.Recordset'缺省属性值:Const m_def_RecordSource = ""Const m_def_BOFAction = BOFActionType.adDoMoveFirstConst m_def_EOFAction = EOFActionType.adDoMoveLastConst m_def_ConnectionString = ""'属性变量:Private m_RecordSource As StringPrivate m_BOFAction As BOFActionTypePrivate m_EOFAction As EOFActionTypePrivate 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 工程 |
| 从头开始 | 创建数据源 |