Hej! mmm... det där var inte enkelt. Ok, Om jag skriver in tarzan i en textruta i form 2 så sparar ja det med Handlar det om att du vill kunna ändra texten som visas på dina menyer? Andreas, Ja precis så menar jag. Sorry att jag skrev lite otydligt. Det är bättre att använda en resursfil. Registret är till för att lagra inställningar.Namn i Menu editorn
Jag har inställningar i form2 där man kan lägga till text som sparas i registret. Hur får man fram namnen på textboxarna från form2 att visas i menu editorn? Lägga till och läsa har jag inga problem med, utan vad man skall skriva i menueditorn för att det skall visas som jag har skrivit i Form2.Text1.Text. Så man kan välja ur det urval man angivit i textboxarna i form2. Hoppas ni vet vad jag menar, annars får ni fråga.
//JockeSv: Namn i Menu editorn
Ta inte illa upp , men det verkar vara en helknäpp lösning på ett enkelt problem.
Snälla försök beskriva vad du vill skall hända.Sv:Namn i Menu editorn
<code>SaveSetting App.EXEName, "app", "bild", Text1.Text</code>
När jag sedan vill välja ur menueditorn i form 1 så har jag skrivit bild1, då visas den.
Men kan man inte skriva något i menyn så att det visas det jag har skrivit in i Form2.Text1.Text
Hängde du med nu om vad jag vill kunna göra?Sv: Namn i Menu editorn
T.ex. File,Edit på engelska och Arkiv, Redigera på svenska?
Genom att fylla i informationen i Form2 textruta Text1?Sv:Namn i Menu editorn
Men går det att göra så??Sv: Namn i Menu editorn
Dessutom måst du lägga till texterna i registret med textvärden på varje du använder programmet.
Detta behöver du inte med en extern fil.
Jag har gjort en generell rutin. Den hanterar inte meny-arrayer:
Sub LoadFormMenus(frm As Form)
Dim ctrl As Control
For Each ctrl In frm.Controls
If TypeOf ctrl Is Menu Then
LoadMenu ctrl
End If
Next
End Sub
Sub LoadMenu(mnu As Menu)
mnu.Caption = GetSetting(App.Title, "Menus", mnu.Name, mnu.Caption)
End Sub
Du anropar den sedan i Form_Load
Private Sub Form_Load()
LoadFormMenus Me
End Sub
Samt efter att du redigerat/uppdaterat menyerna:
Private Sub Command1_Click()
Form2.Show vbModal
LoadFormMenus Me
End Sub
När du sparar menyerna sparar du dem under deras namn:
Private Sub SaveButton_Click()
SaveSetting App.Title, "Menus", "mnuFile", txtFile.Text
SaveSetting App.Title, "Menus", "mnuFileClose", txtFileClose.Text
MsgBox "Menyerna har sparats!"
Unload Me
End Sub
Koden kan utökas att inkludera formulärnamnet, samt att klara kontroll arrayer. Jag avråder dig dock från att använda registret som lagringsplats för dessa textvärden.