Ønsker du et sædvanligt menusystem, som det man pljer at lave i VB? Dette menusystem skal ændre sig dynamisk afhængig af hvilke txt.filer du nu har liggende?
Ja, et sædvanligt menusystem, der ændrer sig dynamisk :-))
Jeg ønsker et menupunkt der hedder "Filer". Underpunkterne til dette skal være alle txt-filer der ligger i mappen "E:\klip". Faktisk lidt ala "senest åbnede filer" i div. office-prog.
Jeg kan ikke finde på andet end en listbox. Den kan man jo ændre under kørslen, så ny filnavne kan tilføjes.Så vil du da få en nydelig liste af txt-filnavne, som man kan vælge og så få det ønskede til at ske.
Jeg har forstået at stry VIL have en menu, så jeg kigger i 10 min. på om jeg kan finde på noget. Selv ville jeg dog ikke anvende en sådan udformning. 'Senest åbnede filer' kan indlæses fra registry eller fra en ini-fil.
Via Google har jeg fundet dette eksempel, som jeg nu kigger på. Der var ellers mange med .NET, men stry har ikke omtalt hvilken version han arbejder med. Jeg bruger selv VB5.
Projektet nævnt ovenfor kunne ikke åbnes med VB5 :-(
I VB5's Book Online står nedenstående. Jeg kan ud fra det godt lave en menu der skifter tekster, men der skal i forvejen være så mange punkter med 'blank' tekst, som jeg ønsker at anvende. De som ikke udfyldes, kan vel ret let gøres skjulte.
Private Sub Command1_Click() mnutekst(a).Caption = a & " Tekst.txt" a = a + 1 End Sub
Det som sker når et punkt vælges skal så være det samme, blot med en ny variabel. Ellers er ideen med et array vel helt tabt.
To create a menu control array in the Menu Editor 1. Select the form. 2. From the Tools menu, choose Menu Editor. ? or ? Click the Menu Editor button on the toolbar. 3. In the Caption text box, type the text for the first menu title that you want to appear on the menu bar. The menu title text is displayed in the menu control list box. 4. In the Name text box, type the name that you will use to refer to the menu control in code. Leave the Index box empty. 5. At the next indentation level, create the menu item that will become the first element in the array by setting its Caption and Name. 6. Set the Index for the first element in the array to 0. 7. Create a second menu item at the same level of indentation as the first. 8. Set the Name of the second element to the same as the first element and set its Index to 1. 9. Repeat steps 5 ? 8 for subsequent elements of the array.
Important Elements of a menu control array must be contiguous in the menu control list box and must be at the same level of indentation. When you're creating menu control arrays, be sure to include any separator bars that appear on the menu.
For Each oFile In oFolder.Files If InStr(1, oFile.Name, ".") <> 0 Then sFileParts() = Split(oFile.Name, ".") If LCase(sFileParts(UBound(sFileParts()))) = "txt" Then 'cmbFiles.AddItem oFile.Name Filer(i) = oFile.Name
Load subFiler(i + 1) subFiler(i + 1).Caption = Filer(i) 'subFiler(i).Visible = True 'Debug.Print i 'Debug.Print Filer(i) i = i + 1 'Debug.Print i
End If End If Next oFile subFiler(0).Visible = False
Jo, jeg deler med Jørn som skal ha' lidt for indsatsen :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.