Seite 1 von 1

Event, wenn Kalender von DateGadget geschlossen wird

Verfasst: 07.10.2020 13:20
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 :-)

Re: Event, wenn Kalender von DateGadget geschlossen wird

Verfasst: 07.10.2020 13:32
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

Re: Event, wenn Kalender von DateGadget geschlossen wird

Verfasst: 07.10.2020 13:35
von techniker
Vielen Dank für den Tipp! :allright: