Es gibt:
SysDateTimePick32
gibt es auch was für die Zeitdarstellung, wenn ja mit Beispiel ?
Systemzeit und Systemdatum abfragen
- Froggerprogger
- Badmin
- Beiträge: 855
- Registriert: 08.09.2004 20:02
Den Code für den Kalender:
gibt es das Gleiche für die Zeit?
oder:
gibt es das Gleiche für die Zeit?
Code: Alles auswählen
; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=2997&highlight=
; Author: Andreas
; Date: 03. December 2003
#MCM_GETCURSEL = $1001
#Auswahl=1
#Abbruch = 2
Structure InitCommon
dwSize.l
dwICC.l
EndStructure
my.InitCommon
my\dwSize = 8
my\dwICC = $100
InitCommonControlsEx_(@my)
hwnd=OpenWindow(0,0,0,800,700.0,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"API-Kalender")
If hwnd=0 Or CreateGadgetList(hwnd)=0:End:EndIf
hCal=CreateWindowEx_(0,"SysMonthCal32","Kalender",#WS_CHILD|#WS_VISIBLE,10,80,600,700,hwnd,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,$0000FF);MCM_SC_TITEL
SendMessage_(hCal,4106,1,$00FFFF);MCM_SC_TEXT
SendMessage_(hCal,4106,3,$00FFFF);MCM_SC_TITELTEXT
ButtonGadget(#Auswahl,10,10,50,20,"Datum")
ButtonGadget(#Abbruch,10,40,50,20,"Abbruch")
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_EventGadget
Select EventGadgetID()
Case #Auswahl
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)
Case #Abbruch
End
EndSelect
EndIf
Until EventID = #PB_EventCloseWindow
End
; ExecutableFormat=Windows
; EnableXP
; EOF
Code: Alles auswählen
OpenWindow(0,200,200,200,200,#PB_Window_SystemMenu,"test")
If CreateGadgetList(WindowID())
;mit checkbox
picker1=CreateWindowEx_(0,"SysDateTimePick32","",#WS_CHILD|#WS_VISIBLE|12+2,10,10,100,25,WindowID(),0,GetModuleHandle_(0),0)
SendMessage_(picker1,4097,0,@s.SYSTEMTIME)
s\wYear = 2000
s\wMonth = 12
s\wDay = 11
;SendMessage_(picker1,4098,0,s)
;SendMessage_(picker1,4098,1,s)
;ohne checkbox
picker2=CreateWindowEx_(0,"SysDateTimePick32","",#WS_CHILD|#WS_VISIBLE|12,10,40,100,25,WindowID(),0,GetModuleHandle_(0),0)
EndIf
;Debug msg
Repeat
EventID=WaitWindowEvent()
Until EventID=#PB_EventCloseWindow
CloseWindow(0)
- Froggerprogger
- Badmin
- Beiträge: 855
- Registriert: 08.09.2004 20:02
Hmmm. Sieht nicht so aus, als ob es da was gäbe:
http://msdn.microsoft.com/library/defau ... ssages.asp
Hier ist immer nur die Rede vom "date and time picker (DTP) control's child month calendar control"
Mit DTP ist das Textfeld gemeint. Das 'child month calender control' ist das extra-popup-Fenster. Nirgendwo aber ist die Rede von einem 'child time calender control'
Aber mit #DTM_SETFORMAT und #DTS_TIMEFORMAT lässt sich ein Zeitpicker bauen, wie er auch bei der Windows-Uhrzeiteinstellung funktioniert:
Cool ist, wenn man den Tag oder Monat verändert, verändert sich der Name gleich mit:
Für den Formatstring siehe hier:
http://msdn.microsoft.com/library/defau ... format.asp
http://msdn.microsoft.com/library/defau ... ssages.asp
Hier ist immer nur die Rede vom "date and time picker (DTP) control's child month calendar control"
Mit DTP ist das Textfeld gemeint. Das 'child month calender control' ist das extra-popup-Fenster. Nirgendwo aber ist die Rede von einem 'child time calender control'
Aber mit #DTM_SETFORMAT und #DTS_TIMEFORMAT lässt sich ein Zeitpicker bauen, wie er auch bei der Windows-Uhrzeiteinstellung funktioniert:
Cool ist, wenn man den Tag oder Monat verändert, verändert sich der Name gleich mit:
Code: Alles auswählen
OpenWindow(0,200,200,455,80,#PB_Window_SystemMenu,"test")
If CreateGadgetList(WindowID())
;mit checkbox
#DTS_TIMEFORMAT = $0009
#DTM_SETFORMAT = $1005
format.s = "'Uhrzeit ist ' HH:mm:ss ' am 'dddd'den 'dd.MM.yyyy '('MMMM')'"
picker=CreateWindowEx_(0,"SysDateTimePick32","",#DTS_TIMEFORMAT|#WS_CHILD|#WS_VISIBLE|12,10,10,440,25,WindowID(),0,GetModuleHandle_(0),0)
SendMessage_(picker, #DTM_SETFORMAT, 0, @format);
TextGadget(0, 10, 50, 440, 25, "Die einzelnen Daten lassen sich anklicken und editieren.")
EndIf
;Debug msg
Repeat
EventID=WaitWindowEvent()
Until EventID=#PB_EventCloseWindow
CloseWindow(0)
http://msdn.microsoft.com/library/defau ... format.asp
!UD2