Seite 1 von 1

Checkbox in Datepicker

Verfasst: 27.03.2007 10:05
von Panik
Hallo !

Aus dem Codearchiv habe ich folgenden Code für einen Datums-Picker:

Code: Alles auswählen

; English forum:
; Author: Unknown (updated for PB4.00 by blbltheworm)
; Date: 21. June 2003
; OS: Windows
; Demo: No

; ------- Calendar Setup ------ 
#MCM_GETCURSEL=$1001 
#MCM_SETDAY=4098 
MyCal.INITCOMMONCONTROLSEX 
MyCal\dwSize=8 
MyCal\dwICC=$100 
InitCommonControlsEx_(@MyCal) 
; ----------------------------- 
; 
OpenWindow(0,100,200,400,200,"Date Pick Example",#PB_Window_SystemMenu|#PB_Window_SizeGadget) 
; 
datepick=CreateWindowEx_(0,"SysDateTimePick32","DateTime",#WS_CHILD|#WS_VISIBLE|4,10,10,200,25,WindowID(0),0,GetModuleHandle_(0),0) 
; 
Repeat 
  EventID=WaitWindowEvent() 
  newdate$=Space(255) : GetWindowText_(datepick,newdate$,255) 
  If newdate$<>prevdate$ 
    prevdate$=newdate$ 
    Debug datepick
    Debug "String = "+newdate$ 
    SendMessage_(datepick,#MCM_GETCURSEL,0,@time.SYSTEMTIME) 
    CalD=time\wDay : CalM=time\wMonth : CalY=time\wYear 
    ;time\wDay=1:time\wMonth=5:time\wYear =2004 
    SendMessage_(datepick,#MCM_SETDAY,0,time) 
    ;Debug "D, M, Y = "+Str(CalD)+", "+Str(CalM)+", "+Str(CalY) 
  EndIf 
Until EventID=#PB_Event_CloseWindow

; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
; EnableXP
Einige unwichtige Zeilen habe ich mal auskommentiert und die Variable datepick im Debugger mit anzeigen lassen.
Hat diese Variable eigentlich irgendeinen verwertbaren Inhalt ? Und wenn ja welchen ?

Worum es mir primär geht :

Ich kann mir die Variable newdate$ schon nutzbar entnehmen.
Aber die Checkbox die mir den Picker disable stellt nicht.
Wie kann ich es erreichen, daß im Augenblick, wo die Checkbox 0 ist die Variable newdate$ = "" und dann wenn
die Checkbox 1 ist das Datum im String ist.

Bisher kann ich mir nur einen Weg über eine extra Checkbox denken.
Wozu gibt es aber dann die integrierte Box.Die würde ich lieber nehmen...

Gruß Panik

Re: Checkbox in Datepicker

Verfasst: 27.03.2007 10:13
von Kiffi
Panik hat geschrieben:Aus dem Codearchiv habe ich folgenden Code für einen Datums-Picker:

Code: Alles auswählen

[allerlei API-Krams]
wieso so kompliziert? Hast Du Dir schon mal DateGadget() angeschaut?

Aus der PB-Hilfe:

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, 180, 25, "Datum: %mm/%dd/%yyyy Zeit: %hh:%ii")
      Repeat: Until WaitWindowEvent() = #PB_Event_CloseWindow
    EndIf
  EndIf
damit hast Du eine wesentlich einfachere Grundlage, Dein CheckBox-Problem anzugehen.

Grüße ... Kiffi

Verfasst: 27.03.2007 11:28
von Panik
sorry ich war so blind ...

Das geht tatsächlich super und ist schon eingebaut ...

Danke!

Panik