程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 帶有歷史記錄功能的菜單

帶有歷史記錄功能的菜單

編輯:VB綜合教程
我們經常見到一些軟件,如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.源程序如下:

----在通用裡聲明:

Constk1="記憶菜單"
  Constk2="文件名"
  Functionaddfilename(filename)'添加文件名
  DIMI,GASINTEGER
  ForI=5To1Step-1'從第五項開始向第一項
  Ifmnufilename(1).Caption<>filenameAnd
  mnufilename(2).Caption<>filename
  Andmnufilename(3).Caption<>filenameAnd
  mnufilename(4).Caption<>filename
  Andmnufilename(5).Caption<>filename
  Then'判斷所選的文件是否已存在
  Ifmnufilename(I).Caption=""And
  mnufilename(I 1).Caption<>""
  Then'此處初使化菜單,利用了虛設菜單項
  SaveSettingk1,k2,I,filename'在注冊表裡保存
  Else
  Ifmnufilename(1).Caption<>""
  Then'表明菜單已滿
  DeleteSettingk1,k2,5
  '按先入先出規則,刪除最後一項
  ForG=4To1Step-1'一至四項依次後移
  n=GetSetting(k1,k2,G)'從注冊表裡取其值
  SaveSettingk1,k2,(G 1),n'順延到下一項
  Next
  SaveSettingk1,k2,1,filename
  ExitFunction
  EndIf
  EndIf
  EndIf
  Next
  EndFunction
  Functiondisplay()'顯現各項文件名
  DIMIASINTEGER
  ForI=5To1Step-1
  l=GetSetting(k1,k2,I)
  
  Ifl<>""Then
  mnufilename(I).Visible=True
  mnufilename(I).Caption=l
  Else
  mnufilename(I).Visible=False
  mnufilename(I).Caption=""
  EndIf
  Next
  EndFunction
  
  
  PrivateSubForm_Load()
  
  Calldisplay
  
  EndSub
  
  PrivateSubmnuopen_Click()
  DIMFILENAME
  Commondialog1.ShowOpen
  filename=Commondialog1.filename
  
  Calladdfilename(filename)
  
  Calldisplay
  
  EndSub

----有興趣的讀者還可以把此程序稍加修改加入你的工程,增添你的工程的實用性。利用getsetting,savesetting和deletesetting函數,還可為你的程序加密等

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved