Lägg till menyer i ditt program
Ett helt Glosprogram - ladda ned
Du kan enkelt använda dig av standard Öppna och Spara som popup-fönster i ditt program.
För detta exempel, lägg till dessa objekt på din "Form":
Typ av
objekt
Namn på objekt
1 Common Dialog Box CommonDialog1
1
DriveListBox
Drive1
2 DirListBox
Dir1, Dir2
1 FileListBox
File1
3 Listbox
Listbox1, Listbox2, Listbox3
2 Command-buttons
Command1, Command2.
Med den här kodsnutten kan man läsa in en textfil när man klickar på Command1-knappen. Namnet på filen läggs i Listbox1 och innehållet i filen delas upp mellan Listbox2 & 3. Genom att välja ett objekt i Listbox1-listan, kan man med Command2-knappen kan man även spara innehållet i Listbox2 & 3 till filnamnet som står i Listbox1.
Private Sub Form_Load()
Dir1.Visible = False
' Göm
Drive1.Visible = False
' dessa
Dir2.Visible = False
' objekt
File1.Visible = False
'
Form1.Visible = True
Command1.Caption =
"Öppna"
' Sätt namn
Command2.Caption =
"Spara"
' på knapparna
End Sub
Private Sub Command1_Click()
CommonDialog1.ShowOpen
' Öppna CommonDialog1 i Öppna-läge
CommonDialog1.Filter = "*.txt|*.txt"
' Ladda endast in .txt-filer
Listbox1.AddItem CommonDialog1.FileTitle
' Lägg till filnamnet i Listbox1
Open Commondialog1.Filename For Input As #1
' Öppna det valda filnamnet från Commondialogboxen för läsning
Dim s, e
Do Until EOF(1)
' Upprepa läsning tills filer tar slut
Input #1, s, e
ListBox2.AddItem s
' Lägg texten i Listbox2
ListBox3.AddItem e
' och Listbox3
Loop
Close #1
End Sub
Private Sub Command2_Click()
CommonDialog1.Filter = "*.txt|*.txt"
CommonDialog1.ShowSave
' Öppna CommonDialog1 i Spara Som-läge
Dim i, l
For i = 0 To ListBox1.ListCount - 1
' Loopa antalet poster som finns i ListBox1
If ListBox1.Selected(i) = True Then
' Kolla alla poster efter det som är valt
Open CommonDialog1.FileName For Output As #1 '
Öppna filen som är vald i ListBox1 eller CommonDialog1 för skrivning.
CommonDialog1 har högsta prioritet.
' Det enda som händer om man väljer ett objekt i Listbox1-rutan är att
det filnamnet föerslås när man ska spara.
For l = 0 To
ListBox2.ListCount - 1
' Loopa antal poster i ListBox2
Write #1, ListBox2.List(l), ListBox3.List(l) ' Skriv
alla poster i ListBox2 & 3 till filen
Next
Close #1
End If
Next
End Sub
Med Menu Editor i Tools-menyn kan man enkelt lägga till menyer till sitt program
Ett exempel på hur en Arkiv-meny skulle kunna se ut.
När du startat Menu Editorn, knappa in Captionname (hur texten kommer att se ut, & före en bokstav gör den till snabbval) och objectname (namnet man använder för att anropa objektet i koden, t ex mnuArkiv).
&Arkiv
'Visas som Arkiv
....&Ny
'Visas som Ny när man trycker på Arkiv-menyn
....&Öppna 'Visas som Öppna
när man trycker på Arkiv-menyn
....&Stäng 'Visas som Stäng
när man trycker på Arkiv-menyn
....S&luta 'Visas som
Sluta när man trycker på Arkiv-menyn
För varje submeny du skapar, tryck på högerpilen för att flytta menyn åt höger (detta indekeras av fyra punkter före CaptionName).
Skapa "actions" för menyerna
På din "Form" tryck på Öppna i Arkiv-menyn. Då skapas en ny Private Sub:
Private Sub(mnuArkivOppna_Click()
End Sub
I den här proceduren kan du stoppa in samma kod som för Command1_Click() proceduren.