Frage zu SetWindowCallback

Für allgemeine Fragen zur Programmierung mit PureBasic.
Jürgen
Beiträge: 26
Registriert: 27.04.2005 18:04

Frage zu SetWindowCallback

Beitrag von Jürgen »

Hallo,

habe folgenden Code aus dem Archiv um den Test-Button erweitert.
Wie stelle ich es nun an, dass wenn die Taste "Test" gedrückt wird, etwas bestimmtes ausgeführt wird?

Code: Alles auswählen


; English forum: http://purebasic.myforums.net/viewtopic.php?t=8181&highlight=
; Author: Berikco
; Date: 04. November 2003

OpenWindow(0,100,150,400,400,#PB_Window_SystemMenu,"TEST") 
Global Yellow, Green, blauw 
Yellow = CreateSolidBrush_($66E8FB) 
Green = CreateSolidBrush_($7BDF84) 
blauw=CreateSolidBrush_($E5B91A) 
CreateGadgetList(WindowID()) 

TextGadget(1,10,10,100,15,"Hoegaarden",#PB_Text_Center) 
TextGadget(2,120,10,100,15,"Jupiler",#PB_Text_Center) 
StringGadget(3, 10, 40, 200, 40, "Goedendag allemaal,       voor mij een pintje" , #PB_String_MultiLine) 
CheckBoxGadget(4, 10, 90,100, 20, "Beer Here") 
ButtonGadget(5,10,120,100,20,"test")


Procedure myCallback(WindowID, Message, wParam, lParam) 
    Result = #PB_ProcessPureBasicEvents 
    
    Select Message 
        Case #WM_CTLCOLORSTATIC 
            Select lParam 
                Case GadgetID(1) 
                    SetBkMode_(wParam,#TRANSPARENT) 
                    SetTextColor_(wParam, $FFFFFF) 
                    Result = Yellow 
                Case GadgetID(4) 
                    SetBkMode_(wParam,#TRANSPARENT) 
                    SetTextColor_(wParam, $FFFFFF) 
                    Result = blauw 
            EndSelect 
        Case #WM_CTLCOLOREDIT 
            Select lParam 
                Case GadgetID(3) 
                    SetBkMode_(wParam,#TRANSPARENT) 
                    SetTextColor_(wParam, $FFFFFF) 
                    Result = Green 
            EndSelect 
       
            
         
    EndSelect 
    ProcedureReturn Result
EndProcedure 
SetWindowCallback(@myCallback()) 

Repeat 
    
Until WaitWindowEvent() = #PB_EventCloseWindow
; ExecutableFormat=Windows
; EnableXP
; EOF


Vielen Dank für das Lesen und eventuelle Hilfen....
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

Beitrag von ts-soft »

Code: Alles auswählen

; English forum: http://purebasic.myforums.net/viewtopic.php?t=8181&highlight=
; Author: Berikco
; Date: 04. November 2003

OpenWindow(0,100,150,400,400,#PB_Window_SystemMenu,"TEST")
Global Yellow, Green, blauw
Yellow = CreateSolidBrush_($66E8FB)
Green = CreateSolidBrush_($7BDF84)
blauw=CreateSolidBrush_($E5B91A)
CreateGadgetList(WindowID())

TextGadget(1,10,10,100,15,"Hoegaarden",#PB_Text_Center)
TextGadget(2,120,10,100,15,"Jupiler",#PB_Text_Center)
StringGadget(3, 10, 40, 200, 40, "Goedendag allemaal,       voor mij een pintje" , #PB_String_MultiLine)
CheckBoxGadget(4, 10, 90,100, 20, "Beer Here")
ButtonGadget(5,10,120,100,20,"test")


Procedure myCallback(WindowID, Message, wParam, lParam)
  Result = #PB_ProcessPureBasicEvents
  
  Select Message
    Case #WM_CTLCOLORSTATIC
      Select lParam
        Case GadgetID(1)
          SetBkMode_(wParam,#TRANSPARENT)
          SetTextColor_(wParam, $FFFFFF)
          Result = Yellow
        Case GadgetID(4)
          SetBkMode_(wParam,#TRANSPARENT)
          SetTextColor_(wParam, $FFFFFF)
          Result = blauw
      EndSelect
    Case #WM_CTLCOLOREDIT
      Select lParam
        Case GadgetID(3)
          SetBkMode_(wParam,#TRANSPARENT)
          SetTextColor_(wParam, $FFFFFF)
          Result = Green
      EndSelect
; #########################
    Case #WM_COMMAND
      Select lParam
        Case GadgetID(5)
          Debug "test"
      EndSelect
  EndSelect
; #########################
  ProcedureReturn Result
EndProcedure
SetWindowCallback(@myCallback())

Repeat
  
Until WaitWindowEvent() = #PB_EventCloseWindow 
Zugefügter Codeteil durch #### gekennzeichnet
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
Jürgen
Beiträge: 26
Registriert: 27.04.2005 18:04

Beitrag von Jürgen »

Recht vielen Dank an ts-soft, alle Leser und potentielle Helfer...

Einfach toll dieses Forum....

Da ich der engl. Sprache nicht so mächtig bin finde ich es sehr schön, dass es solch ein Forum in deutscher Sprache gibt, auch wenn oftmals auf engl. Foren verwiesen wird.

Wo finde ich eigentlich weitere Infos zu "#WM_" Zu dieser Sache fehlen mir einfach die Infos...

Alles Gute nochmals, vielen Dank für die Hilfen und man schreibt sich bei der nächsten Frage.... :allright: :allright: :wink:
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

Hallo Jürgen zwar im englischen Forum aber dennoch sehr Interessant:

Ich habe im Englischen Forum eine enorme Auflistung an Event Konstanten gefunden.

http://forums.purebasic.com/english/vie ... ght=wmuser

schau doch mal rein...
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Antworten