Get- SetGadgetData sinnvoll nutzen!

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Get- SetGadgetData sinnvoll nutzen!

Beitrag von ts-soft »

Hab mir gestern den Ereigniscode vom VD-Alpha angesehen, wobei der
LinkList verwendet. Da hab ich mir gedacht, man könnte doch die
GadgetData dafür mißbrauchen. Das ist herausgekommen:

Code: Alles auswählen

Enumeration
  #btnOK
  #btnCancel
EndEnumeration

Procedure btnOK_Event(EventType.l)
  Debug "#btnOK"
EndProcedure
 
Procedure btnCancel_Event(EventType.l)
  Debug "#btnCancel"
EndProcedure

If OpenWindow(0, #CW_USEDEFAULT, #CW_USEDEFAULT, 200, 100, "")
  If CreateGadgetList(WindowID(0))
    ButtonGadget(#btnOK, 10, 10, 50, 25, "OK")
    SetGadgetData(#btnOK, @btnOK_Event())
    ButtonGadget(#btnCancel, 80, 10, 50, 25, "Cancel")
    SetGadgetData(#btnCancel, @btnCancel_Event())
  EndIf
EndIf

Repeat
  Event  = WaitWindowEvent()
  Gadget = EventGadget()
  Type   = EventType()
  Window = EventWindow()
 
  Select Event
    Case #PB_Event_CloseWindow
      Break
    Case #PB_Event_Gadget
      If GetGadgetData(Gadget)
        CallFunctionFast(GetGadgetData(Gadget), Type)
      EndIf
  EndSelect
ForEver
//Nachtrag:
an PB4 Beta 6 angepaßt 8)
Zuletzt geändert von ts-soft am 10.03.2006 10:10, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

interressant :allright:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Gesperrt