荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: reget (GARY), 信区: Program
标  题: 带有历史记录功能的菜单(vb)
发信站: BBS 荔园晨风站 (Thu Apr 13 18:30:19 2000), 转信

带有历史记录功能的菜单
            我们经常见到一些软件,如office系列,visual家族等等,他们的打
开菜单里常常记载了上次所进行的任务,这样就方便了我们的操作,实际我们也能
用vb实现这一功能,现在以常见的含有最多五个添加值为例给大家演示这一功能,
并且此程序不需要具api
            函数调用,直接使用vb自身携带的函数即可,主要使用getsetting,
savesetting和
            deletesetting函数,具体步骤如下:
            1.打开vb,选择标准窗口,在工具菜单里选择编辑菜单器,各项设置
如下:

                  captionnameindex visibleindentation
                  filemnufile空 true0
                  Openmnuopen空true1
                  -mnudesh 空true1
                  空mnufilename1false1
                  空mnufilename2false1
                  空mnufilename3false1
                  空mnufilename4false1
                  空mnufilename5false1
                  abcmnufilename6false1

              (注:一定要在最后一项的caption设一虚值,这样做的原因是为了
后面在菜单项未满时添加文件名做判断,并没有实际意义)
            2.在窗体中加载一对话框,对话框的name为commongdialog1
            3.源程序如下:
            在通用里声明:
Const k1 = "记忆菜单"
Const k2 = "文件名"
Function addfilename(filename)'添加文件名
DIM I,G AS INTEGER
For i = 5 To 1 Step -1'从第五项开始向第一项
If mnufilename(1).Caption <  > filename And
 mnufilename(2).Caption <  > filename
And mnufilename(3).Caption <  > filename And
mnufilename(4).Caption <  > filename
 And mnufilename(5).Caption <  > filename
Then '判断所选的文件是否已存在
     If mnufilename(i).Caption = "" And
 mnufilename(i + 1).Caption <  > ""
Then '此处初使化菜单,利用了虚设菜单项
 SaveSetting k1, k2, i, filename'在注册表里保存
     Else
       If mnufilename(1).Caption <  > ""
 Then '表明菜单已满
         DeleteSetting k1, k2, 5
'按先入先出规则,删除最后一项
         For G = 4 To 1 Step -1 '一至四项依次后移
         n = GetSetting(k1, k2, G)'从注册表里取其值
         SaveSetting k1, k2, (G + 1), n'顺延到下一项
         Next
         SaveSetting k1, k2, 1, filename
        Exit Function
       End If
     End If
 End If
Next
End Function
Function display()'显现各项文件名
DIM I AS INTEGER
For i = 5 To 1 Step -1
l = GetSetting(k1, k2, i)

If l <  > "" Then
mnufilename(i).Visible = True
mnufilename(i).Caption = l
Else
mnufilename(i).Visible = False
mnufilename(i).Caption = ""
End If
Next
End Function


Private Sub Form_Load()

Call display

End Sub



Private Sub mnuopen_Click()
DIM FILENAME
Commondialog1.ShowOpen
filename = Commondialog1.filename

Call addfilename(filename)

Call display

End Sub


            有兴趣的读者还可以把此程序稍加修改加入你的工程,增添你的工程
的实用性。利用getsetting,savesetting和deletesetting函数,还可为你的程序
加密等


            转载自计算机世界日报 (文/董文涛)

--
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.250]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店