65.9K
CodeProject 正在变化。 阅读更多。
Home

添加到最近 - 自动创建最近使用的项

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2007 年 10 月 20 日

CPOL

1分钟阅读

viewsIcon

20583

downloadIcon

269

自动创建最近使用菜单项,非常简单且实用。你只需要定义一个用于保存的文件,以及一个菜单按钮(类会自动创建所有项目)。

Screenshot - vb_recent.jpg

引言

这个类可以自动创建最近使用菜单项。这个类非常易于使用且非常实用。你只需要创建一个菜单按钮(使用索引 0 定义控件数组),定义一个用于保存最近使用项目的文件,并在需要时调用 AddItem 方法。该类将自动创建所有菜单按钮,删除旧按钮,使用项目名称设置按钮标题,并使用项目数据值设置按钮标签属性。你还可以设置最近使用项目的最大数量,并且当你添加已经存在的项目时,该类将删除旧项目并将新项目放在列表的开头(使其成为列表中的第一个)。

如何使用

使用这个类非常简单。你只需要将这个类添加到你的项目中,定义最近使用项目的最大数量(默认值为 5),创建一个菜单按钮(使用索引 0 定义控件数组),仅此而已。

函数 / 子程序

  • AddItem(ByVal str_name As String, ByVal str_data As String) – 插入一个新的最近使用项目,名称为 str_name,值为 str_data
  • Data(ByVal Index As Integer) As String – 返回最近使用项目的数据(值)
  • Name(ByVal Index As Integer) As String – 返回最近使用项目的名称
  • LoadFile(ByVal str_file As String) As Boolean – 从文件加载最近使用项目;如果失败,则返回 false
  • RemoveItem(ByVal Index As Integer) – 删除最近使用项目
  • SaveData(ByVal str_file As String) – 将最近使用项目保存到文件
  • SetMenu(ByRef objMenu As Object) – 创建菜单项

示例(使用最近使用项目的代码)

'show tag (data of recent item), button caption is
' recent item name
Private Sub buttRecent_Click(Index As Integer)
    MsgBox Me.buttRecent(Index).Tag
End Sub

'add new item to recent
Private Sub buttSave_Click()
    recent.AddItem Me.txtName.Text, Me.txtVal.Text
    recent.setMenu Me.buttRecent
End Sub

'load item on form load
Private Sub Form_Load()
    recent.MaxCount = 5 'number of recent items to display
    recent.LoadFile App.Path & "\rec.txt"
    'add items to control array buttRecent,
    ' class will do this (remove all items,and add new)
    recent.setMenu Me.buttRecent
End Sub

'save items to file on form terminate
Private Sub Form_Terminate()
    recent.SaveData App.Path & "\rec.txt"
    Set recent = Nothing
End Sub
© . All rights reserved.