📄 m23.htm
字号:
<html>
<head>
<title>VB教程</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<p align="center"><script src="../../1.js"></script></a>
<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center>
<table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
<tbody>
<tr>
<td bgcolor=#000000 height=14>
<div align=center class=H1> <font color="#FFFFFF" class="unnamed1">利用INI文件给程序创建动态菜单</font> </font> </font></div>
</td>
</tr>
<tr valign=top>
<td class=H1 height=236>
<p align="left"> <font color="#000000">来源: www.vbeden.com<br>
<br>
象Word那样,在“文件”菜单中可以找到我们最近打开或编辑过的文件。这是程序在运行时创建了动态菜单的缘故。VB程序实现此功能有很多文章探讨过,但大都着眼于Windows的注册表。我们的注册表早已发福了,有没有办法不让她再增加负担?<br>
用INI文件!INI文件是系统、应用程序的配置文件。它可以使得我们的VB程序更具灵活性,充分地利用它自然也能够实现动态菜单的创建。下面给个例子。<br>
<br>
首先,我们得给程序添加一个模块,在模块中申明读写INI用的两个Windows API函数,并在其中封装自定义的读取、写入INI的函数:<br>
<br>
Option Explicit<br>
<br>
'读写INI的API函數<br>
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal
lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String)
As Long<br>
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal
lpKeyName As Any, <br>
ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize
As Long, ByVal lpFileName As String) As Long<br>
<br>
'自定义写入INI函數<br>
Public Function WriteIni(ByVal section As String, ByVal key As String,
ByVal value As String) As Boolean<br>
Dim x As Long, Buff As String * 128, I As Integer<br>
Buff = value + Chr(0)<br>
x = WritePrivateProfileString(section, key, Buff, App.Path + "\MenuSetting.ini")<br>
WriteIni = x<br>
End Function<br>
<br>
'自定义读取INI函數<br>
Public Function ReadIni(ByVal section As String, ByVal key As String)
As String<br>
Dim x As Long, Buff As String * 128, I As Integer<br>
x = GetPrivateProfileString(section, key, "", Buff, 128, App.Path +
"\MenuSetting.ini")<br>
I = InStr(Buff, Chr(0))<br>
ReadIni = Trim(Left(Buff, I - 1))<br>
End Function<br>
<br>
接着,回到主窗体,给主窗体添加若干控件、编辑菜单(控件和菜单名称详见代码),其中,“文件”菜单的动态菜单要用数组,其Index号可以从1开始,注意将这些动态菜单设为不可见。本例可保存最近打开的三个文件,如需要多一些可自行添加。以下是主窗体代码:
<br>
</font></span> <br>
</p>
</td>
</tr>
</table>
</div>
<p align="center"><a href="../../pian/vb.htm">回首页</a>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -