Seite 1 von 1
SubMenu aktualisieren
Verfasst: 14.02.2015 19:04
von marcelx
Hallo,
ich möchte ein sub-menü für zuletzt geöffneten Dokumente:
Code: Alles auswählen
OpenSubMenu(" zuletzt geöffneten Dokumente")
MenuItem( #id0, "C:\Autoexec.bat")
MenuItem( #id1, "D:\Test.txt")
CloseSubMenu()
Ich möchte die Liste der MenuItem im lauf meine Programm anpassen (zusätzliche MenuItem z.B.)
Gibt es ein Möglichkeit dafür?
Danke
MarcelX
Re: SubMenu aktualisieren
Verfasst: 14.02.2015 20:10
von ts-soft
Erstell Dein Menü in einer Procedure und erstell es bei Bedarf komplett Neu!
Dauert vielleicht < 10 ms, bemerkt kein Mensch, bevor Du da irgendwelche
API bemühst.
Gruß
Thomas
Re: SubMenu aktualisieren
Verfasst: 14.02.2015 20:18
von marcelx
Danke Thomas,
so geht es
Gruß
MarcelX
Re: SubMenu aktualisieren
Verfasst: 14.02.2015 20:22
von Josh
BTW: Ich finde es schön, wenn das dann dem Windows Standard entspricht und beim Starten des Programmes über das Startmenü, die letzten geöffneten Dokumente dort schon aufscheinen.
Habe mich noch nicht damit beschäftigt, kann nicht sagen, ob es da eigene APIs gibt oder ob du das manuell in die Regestry eintragen musst.
Re: SubMenu aktualisieren
Verfasst: 14.02.2015 23:09
von Vera
Hallo Josh,
mach es doch wie PureBasic, und speicher die letzten Dateien in den Preferencen (ala purebasic.prefs) ab.
greets ~ Vera
Re: SubMenu aktualisieren
Verfasst: 16.02.2015 13:37
von RSBasic
@marcelx
Menüeintrag nachträglich hinzufügen:
http://www.rsbasic.de/aktualisierung/wi ... 3%BCgen.pb
Für SubMenu leicht angepasst:
Code: Alles auswählen
EnableExplicit
Define MENUITEMINFO.MENUITEMINFO
Define SubMenuHandle
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateMenu(1, WindowID(0))
MenuTitle("Datei")
MenuItem(1, "Öffnen")
MenuItem(2, "Speichern")
SubMenuHandle = OpenSubMenu("zuletzt geöffneten Dokumente")
If SubMenuHandle
MenuItem(4, "C:\Autoexec.bat")
MenuItem(5, "D:\Test.txt")
CloseSubMenu()
EndIf
MenuItem(3, "Beenden")
EndIf
MENUITEMINFO\cbSize = SizeOf(MENUITEMINFO)
MENUITEMINFO\fMask = #MIIM_TYPE | #MIIM_ID
MENUITEMINFO\fType = #MFT_STRING
MENUITEMINFO\dwTypeData = @"E:\Neu.png"
MENUITEMINFO\wID = 6
InsertMenuItem_(SubMenuHandle, 0, 0, MENUITEMINFO)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Re: SubMenu aktualisieren
Verfasst: 16.02.2015 13:50
von marcelx
Danke RSBasic, das ist auch eine Möglichkeit.
Ich möchte nicht nur der Sub-Menu erweitern, sondern ganz neu aufbauen.
Gruß
MarcelX