Frage zur GadgetID und der Gadgetnummer

Für allgemeine Fragen zur Programmierung mit PureBasic.
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Frage zur GadgetID und der Gadgetnummer

Beitrag von Nino »

mk-soft hat geschrieben: 05.08.2022 17:53 Kompletter Code hier ... Module System
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.
Andesdaf
Moderator
Beiträge: 2658
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: Frage zur GadgetID und der Gadgetnummer

Beitrag 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.
Win11 x64 | PB 6.00 (x64)
Axolotl
Beiträge: 146
Registriert: 31.12.2008 16:34

Re: Frage zur GadgetID und der Gadgetnummer

Beitrag 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. :oops:

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 
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Frage zur GadgetID und der Gadgetnummer

Beitrag von Nino »

Axolotl hat geschrieben: 06.08.2022 14:04 Unter windows funktioniert auch der einfache zugriff über properties.
:allright:
Antworten