我们经常见到一些软件,如office系列,visual家族等等,他们的打开菜单里常常记载了上次所进行的任务,这样就方便了我们的操作,实际我们也能用vb实现这一功能,现在以常见的含有最多五个添加值为例给大家演示这一功能,并且此程序不需要具api 函数调用, 直接使用vb自身携带的函数即可,主要使用getsetting,savesetting和 deletesetting函数,具体步骤如下:
---- 1.打开vb,选择标准窗口,在工具菜单里选择编辑菜单器,各项设置如下:
————————————————————————
caption name index
visible indentation
———————————————————————
file mnufile 空 true 0
open mnuopen 空 true 1
- mnudesh 空 true 1
空 mnufilename 1 false 1
空 mnufilename 2 false 1
空 mnufilename 3 false 1
空 mnufilename 4 false 1
空 mnufilename 5 false 1
abc mnufilename 6 false 1
---- 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函数,还可为你的程序加密等
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器