DateGadget
Verfasst: 23.10.2007 20:48
Gibt es ne Möglichkeit ein DateGadget so zu manipulieren, dass man nur Datums ohne Jahr auswählen kann?
Code: Alles auswählen
If OpenWindow(0, 0, 0, 200, 250, "DateGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
DateGadget(0, 10, 10, 60, 25, "%dd.%mm")
Repeat: Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
EndIf
Code: Alles auswählen
#MCM_GETCURSEL = $1001
Global hcal
Global hwnd, hwnd1
Declare datepick()
Structure InitCommon
dwSize.l
dwICC.l
EndStructure
Global my.InitCommon
my\dwSize = 8
my\dwICC = $100
InitCommonControlsEx_(@my)
hwnd=OpenWindow(0,300,400,300,100.0,"Calender THIS!",#PB_Window_SystemMenu)
If hwnd=0 Or CreateGadgetList(hwnd)=0:End:EndIf
;ActivateWindow()
ButtonGadget(1,30,10,50,20,"Date Me!")
ButtonGadget(2,30,50,50,20,"EXIT!")
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
datepick()
Case 2
End
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
Procedure Datepick()
hwnd1=OpenWindow(1,600,400,350,400.0,"API-Kalender",#PB_Window_SystemMenu)
If hwnd1=0 Or CreateGadgetList(hwnd1)=0:End:EndIf
;ActivateWindow()
hCal=CreateWindowEx_(0,"SysMonthCal32","Calender",#WS_CHILD|#WS_VISIBLE,10,80,300,300,hwnd1,0,GetModuleHandle_(0),0)
;ein wenig Farbe ins Spiel bringen
SendMessage_(hCal,4106,0,$800000);MCM_SC_BACKGROUND
SendMessage_(hCal,4106,4,$800000);MCM_SC_MONTHBACK
SendMessage_(hCal,4106,2,$800000);MCM_SC_TITLE
SendMessage_(hCal,4106,1,$00FFFF);MCM_SC_TEXT
SendMessage_(hCal,4106,3,$800000);MCM_SC_TITLETEXT
ButtonGadget(3,10,10,50,20,"OK")
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 3
SendMessage_(hCal,#MCM_GETCURSEL,0,@time.SYSTEMTIME )
year=time\wYear
month=time\wMonth
day=time\wDay
info.s = Str(day)+"."+Str(month);+"."+Str(year)
MessageRequester("",info,0)
t = DestroyWindow_(hcal)
If t<> 0
CloseWindow_(hwnd1)
EndIf
Break
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndProcedure