Seite 2 von 2
Re: Frage zur GadgetID und der Gadgetnummer
Verfasst: 05.08.2022 18:00
von Nino
Danke, aber das ist mir zu viel. Das „erschlägt“ mich.
Ich würde mehr lernen, wenn jemand das Beispiel von oben nur gerade soweit ergänzt, dass es wie erwartet funktioniert.
Re: Frage zur GadgetID und der Gadgetnummer
Verfasst: 05.08.2022 18:31
von Andesdaf
Ja, da fehlt der Import. Hatte das aus einem großen Projekt kopiert, da war der an anderer Stelle und ich hatte vergessen, es hier mitzunehmen.
Re: Frage zur GadgetID und der Gadgetnummer
Verfasst: 06.08.2022 14:04
von Axolotl
Unter windows funktioniert auch der einfache zugriff über properties.
Ich hatte mir das mal aufgehoben, weil es mir den Unterschied/die Gemeinsamkeiten zwischen Nummer, Identifier, handle erklärt.
Code: Alles auswählen
Procedure.i WindowPB(hWnd) ; returns PB Number from windows system handle (identifier)
ProcedureReturn GetProp_(hWnd, "pb_windowid") - 1
EndProcedure ;()
Procedure.i GadgetPB(hGadget) ; returns PB Number from windows system handle (identifier)
ProcedureReturn GetProp_(hGadget, "pb_id")
EndProcedure ;()
CompilerIf #PB_Compiler_IsMainFile
; **** Example how to call and what kind of return value
EnableExplicit
Define wnd, ctrl
wnd = OpenWindow(#PB_Any, 0, 0, 320, 160, "Example how to call", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
ctrl = EditorGadget(#PB_Any, 0, 0, 320, 160)
AddGadgetItem(ctrl, -1, "Window:")
AddGadgetItem(ctrl, -1, " wnd = " + wnd)
AddGadgetItem(ctrl, -1, " PB_ID = " + WindowPB(WindowID(wnd)))
AddGadgetItem(ctrl, -1, "")
AddGadgetItem(ctrl, -1, "Gadget:")
AddGadgetItem(ctrl, -1, " ctrl = " + ctrl)
AddGadgetItem(ctrl, -1, " PB_ID = " + GadgetPB(GadgetID(ctrl)))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
CompilerEndIf
Re: Frage zur GadgetID und der Gadgetnummer
Verfasst: 07.08.2022 12:30
von Nino
Axolotl hat geschrieben: 06.08.2022 14:04
Unter windows funktioniert auch der einfache zugriff über properties.
