Event, wenn Kalender von DateGadget geschlossen wird

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Event, wenn Kalender von DateGadget geschlossen wird

Beitrag von techniker »

Hi!

das DateGadget hat per Standard nur das Event #PB_EventType_Change.

Ich brauche aber auch ein Event, wenn das aktuelle Datum nicht verändert wurde.
(z.B. hat der User im aufgeklappten Kalender auf das aktuelle Datum geklickt.)

Hat hier jemand einen Tipp für mich?

(Dieses Verhalten ist lt. Lastenheft explizit gewünscht und nicht verhandelbar.)

Danke :-)
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
Benutzeravatar
HeX0R
Beiträge: 2959
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Event, wenn Kalender von DateGadget geschlossen wird

Beitrag von HeX0R »

Code: Alles auswählen

#MyDateGadget = 0

Procedure WindowCallback(hWnd, uMsg, wParam, lParam)
  Protected *NMDATETIMECHANGE.NMDATETIMECHANGE
  
  Select uMsg
    Case #WM_NOTIFY
      *NMDATETIMECHANGE = lParam
      Select *NMDATETIMECHANGE\nmhdr\hwndfrom
        Case GadgetID(#MyDateGadget)
        	Select *NMDATETIMECHANGE\nmhdr\code
        		Case #DTN_CLOSEUP
        			Debug "closed"
          EndSelect
      EndSelect
      
  EndSelect
  
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  DateGadget(#MyDateGadget, 15, 50, 200, 17, "%dd/%mm/%yyyy", Date())
  SetWindowCallback(@WindowCallback())
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Re: Event, wenn Kalender von DateGadget geschlossen wird

Beitrag von techniker »

Vielen Dank für den Tipp! :allright:
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
Antworten