Du hast recht, edel.
Ich habe den Code von Kurzer nicht genauestens überprüft und habe es 1:1 übernommen.
Hier die angepasste Version:
Code: Alles auswählen
EnableExplicit
#PB_EventType_Calendar_Change = #PB_Event_FirstCustomValue + #PB_EventType_Change
Procedure.l Callback(iWindowHandle.i, iMessage.i, wParam.i, lParam.l)
Protected *NMHDR.NMHDR
If iMessage = #WM_NOTIFY
*NMHDR = lParam
If GadgetType(*NMHDR\idFrom) = #PB_GadgetType_Calendar And *NMHDR\code = #MCN_FIRST + 1 ; = #MCN_SELCHANGE
PostEvent(#PB_Event_Gadget, GetProp_(GetParent_(*NMHDR\hwndFrom), "PB_WINDOWID")-1, GetProp_(*NMHDR\hwndFrom, "PB_ID"), #PB_EventType_Calendar_Change)
Debug "Calendar"
ElseIf GadgetType(*NMHDR\idFrom) = #PB_GadgetType_Date And *NMHDR\code = #DTN_DATETIMECHANGE
PostEvent(#PB_Event_Gadget, GetProp_(GetParent_(*NMHDR\hwndFrom), "PB_WINDOWID")-1, GetProp_(*NMHDR\hwndFrom, "PB_ID"), #PB_EventType_Calendar_Change)
Debug "Date"
EndIf
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure GetDate()
Debug "Geht!"
EndProcedure
If OpenWindow(5, 2300, 200, 480, 200, "Test", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
DateGadget(0, 250, 10, 120, 20, "%dd %mm %yyyy", Date())
CalendarGadget(1, 10, 10, 230, 180)
ButtonGadget(5, 250, 40, 120, 25, "GetDates")
EditorGadget(6, 250, 80, 220, 110, #PB_Editor_ReadOnly)
SetWindowCallback(@Callback())
BindGadgetEvent(0, @GetDate(), #PB_EventType_Calendar_Change)
BindGadgetEvent(1, @GetDate(), #PB_EventType_Calendar_Change)
BindGadgetEvent(5, @GetDate(), #PB_EventType_LeftClick)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
SetWindowCallback(0)
EndIf
@Kurzer
Deinen Bug-Thread kannst du also schließen.