Option Explicit
Dim main As New main_frm
Public max_index As Integer
Public myindex As Integer
Private Sub close_Click()
On Error Resume Next
'循环语句
For Each main In Forms
If main.MDIChild = True Then
Unload main
End If
Next
Dim FNum As Integer
Dim strfilename As String
Dim i As Integer
FNum = FreeFile
strfilename = App.Path & "\cdxx.ini"
If Dir(strfilename) <> "" Then Kill strfilename
Open strfilename For Output As #FNum
For i = 1 To mnufilelist.Count - 1
Print #FNum, mnufilelist(i).Caption
Next
Close #FNum
Exit Sub
End Sub
Private Sub MDIForm_Load()
Dim file As Long
Dim mystring As String
Dim s As String
Dim strfilename As String
strfilename = App.Path & "\cdxx.ini"
file = FreeFile()
On Error Resume Next
Open strfilename For Input As #file '打开文件菜单列表
Do While Not EOF(file)
Line Input #file, mystring
If mystring <> "" Then
max_index = max_index + 1
Load mnufilelist(max_index)
mnufilelist(max_index).Caption = mystring
mnufilelist(max_index).Visible = True
End If
Loop
Close #file '关闭文件菜单列表
End SubPrivate Sub MDIForm_Unload(Cancel As Integer)
close_Click
End SubPrivate Sub mnufilelist_Click(Index As Integer)
If mnufilelist(Index).Caption <> "" Then
Static i As Integer
If i < 1 Then i = 1
main_frm.Visible = False
Dim main As New main_frm
main.Caption = mnufilelist(Index).Caption
i = i + 1
main.Picture = LoadPicture(mnufilelist(Index).Caption)
main.Show
End If
End Sub
Private Sub open_Click() '打开带图形的窗体
CommonDialog1.Filter = "所有图形文件" & "|*.jpg; *.bmp ; *.ico ;*.gif;*.cur"
CommonDialog1.ShowOpen
Static i As Integer
If i < 1 Then i = 1
main_frm.Visible = False
Dim main As New main_frm
main.Caption = CommonDialog1.FileName
i = i + 1
main.Picture = LoadPicture(CommonDialog1.FileName)
main.Show
max_index = mnufilelist.Count
Load mnufilelist(max_index)
mnufilelist(max_index).Caption = CommonDialog1.FileName
mnufilelist(max_index).Visible = True
End Sub
Private Sub exit_Click()
close_Click
End
End Sub我做了一个带历史信息的菜单的例子
为什么:for each main in forms这里总说不匹配
Dim main As New main_frm
Public max_index As Integer
Public myindex As Integer
Private Sub close_Click()
On Error Resume Next
'循环语句
For Each main In Forms
If main.MDIChild = True Then
Unload main
End If
Next
Dim FNum As Integer
Dim strfilename As String
Dim i As Integer
FNum = FreeFile
strfilename = App.Path & "\cdxx.ini"
If Dir(strfilename) <> "" Then Kill strfilename
Open strfilename For Output As #FNum
For i = 1 To mnufilelist.Count - 1
Print #FNum, mnufilelist(i).Caption
Next
Close #FNum
Exit Sub
End Sub
Private Sub MDIForm_Load()
Dim file As Long
Dim mystring As String
Dim s As String
Dim strfilename As String
strfilename = App.Path & "\cdxx.ini"
file = FreeFile()
On Error Resume Next
Open strfilename For Input As #file '打开文件菜单列表
Do While Not EOF(file)
Line Input #file, mystring
If mystring <> "" Then
max_index = max_index + 1
Load mnufilelist(max_index)
mnufilelist(max_index).Caption = mystring
mnufilelist(max_index).Visible = True
End If
Loop
Close #file '关闭文件菜单列表
End SubPrivate Sub MDIForm_Unload(Cancel As Integer)
close_Click
End SubPrivate Sub mnufilelist_Click(Index As Integer)
If mnufilelist(Index).Caption <> "" Then
Static i As Integer
If i < 1 Then i = 1
main_frm.Visible = False
Dim main As New main_frm
main.Caption = mnufilelist(Index).Caption
i = i + 1
main.Picture = LoadPicture(mnufilelist(Index).Caption)
main.Show
End If
End Sub
Private Sub open_Click() '打开带图形的窗体
CommonDialog1.Filter = "所有图形文件" & "|*.jpg; *.bmp ; *.ico ;*.gif;*.cur"
CommonDialog1.ShowOpen
Static i As Integer
If i < 1 Then i = 1
main_frm.Visible = False
Dim main As New main_frm
main.Caption = CommonDialog1.FileName
i = i + 1
main.Picture = LoadPicture(CommonDialog1.FileName)
main.Show
max_index = mnufilelist.Count
Load mnufilelist(max_index)
mnufilelist(max_index).Caption = CommonDialog1.FileName
mnufilelist(max_index).Visible = True
End Sub
Private Sub exit_Click()
close_Click
End
End Sub我做了一个带历史信息的菜单的例子
为什么:for each main in forms这里总说不匹配
解决方案 »
- filecopy函数拷贝文件问题
- 为什么会出错?不能判断呢?
- 怎么判断一个文本文件中有几行内容
- vb+word的问题,各位高手请进~
- 如何把WebBrower里面的image图片加到VB的Picture里面去?
- 大家帮帮忙很急,关于MSFlexgrid合并单元格问题
- activereport 工资汇总问题?
- 找不到DLL入口点:Shell_NotifyIconA in shell32.dll。 ???
- 如何解决vsflexgrid6.0或7.0汉字输入出现乱码或不能正常显示的问题???
- 逐行打印
- 在VB环境中运行正常,但在VB中生产exe文件后一运行就出错:运行时错误:'-2147023898 (800703e6)': Automation 错误
- 硬盘的C分区在每次格式化后序列号(有人叫分区ID)都不同,请问能通过代码修改成格式化前的那个序列号吗?
其次:用作对象循环变量时,不用实例化。Dim main As New main_frm
改为dim frm as form
你学过C吗?晕