Re: [PROJEKT] Patch Maker - erstellen Patch File für Anwendungen z.b.
Verfasst: 16.12.2024 20:49
Hallo,
es hat mir ja keine Ruhe mit dem freien PopUp-Menü gelassen.
Ja, du hast Recht : Das wird immer oben links angezeigt.
Nach einigem Knobeln habe ich es doch fertig bekommen.
Das war gar nicht so leicht und ich habe es über Probieren herausbekommen.
Du kannst es dir ja mal ansehen, aber ich schätze, daß das sehr starker Tobak für dich ist.
Da gehört schon einige Übung dazu, obiges auch zu verstehen.
es hat mir ja keine Ruhe mit dem freien PopUp-Menü gelassen.
Ja, du hast Recht : Das wird immer oben links angezeigt.
Nach einigem Knobeln habe ich es doch fertig bekommen.
Das war gar nicht so leicht und ich habe es über Probieren herausbekommen.
Code: Alles auswählen
Enumeration
#Window1
#Button1
#Button2
#LV1
#Menu1
#MenuItem2
#MenuItem3
EndEnumeration
If OpenWindow(#window1, 100, 100, 600, 300, "Mein Grid", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(#Button1, 10, 10, 60, 25, "Fülle")
ButtonGadget(#Button2, 430, 10, 60, 25, "Ende")
ListIconGadget(#LV1, 5, 80, 400, 200, "Uhrzeit", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines) ; erste Spalte wird schon beim Erstellen des Gridgadget erstelllt.
AddGadgetColumn(#LV1, 1, "Drehzahl", 150)
AddGadgetColumn(#LV1, 2, "Watt", 200)
If CreatePopupMenu(#Menu1)
MenuItem(1, "Open")
MenuItem(2, "Save")
MenuItem(3, "Save as")
MenuItem(4, "Quit")
EndIf
Repeat
Event = WaitWindowEvent()
Select EVent
Case #PB_Event_Gadget
Select EventGadget()
Case #Button1
; Button gedrückt
uhrzeit.s = FormatDate("%hh:%ii:%ss", Date())
drehzahl.s = Str(Random(8000, 2000))
watt.s = Str(Random(1000, 0))
AddGadgetItem(#LV1, -1, uhrzeit + Chr(10) + drehzahl + Chr(10) + watt)
SetGadgetItemState(#LV1, CountGadgetItems(2)- 1 ,#PB_ListIcon_Selected)
Case #Button2
Break
Case #LV1
If EventType() = #PB_EventType_RightClick ;#PB_Event_RightClick
DisplayPopupMenu(#Menu1, WindowID(#Window1), GadgetX(#LV1, #PB_Gadget_ScreenCoordinate) + 20, GadgetY(#LV1, #PB_Gadget_ScreenCoordinate) + 20)
EndIf
EndSelect
Case #PB_Event_Menu ; ein Eintrag des Popup-Menüs wurde angeklickt
Select EventMenu() ; ermittle den angeklickten Menü-Eintrag...
Case 1 : MessageRequester("Info", "Menu: Open", #PB_MessageRequester_Ok)
Case 2 : MessageRequester("Info", "Menu: Save", #PB_MessageRequester_Ok)
Case 3 : MessageRequester("Info", "Menu: Save AS", #PB_MessageRequester_Ok)
Case 4 : End
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
End
Da gehört schon einige Übung dazu, obiges auch zu verstehen.