DateGadget
DateGadget
Gibt es ne Möglichkeit ein DateGadget so zu manipulieren, dass man nur Datums ohne Jahr auswählen kann?
v6.00
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Ich weiß nun nicht ob ich das hier richtig verstanden habe,
was du haben willst. Aber die Maske lässt sich schon ändern
und zeigt dann das aktuelle Datum an. Das Jahr ist dann, wenn man es
zum Bsp auf 2047 ändert ein lustiges Ergebnis.
Ich bekomme dann zwar unten das Jahr korrekt angezeigt mit meinem
jetzigen Datum. Aber im Kopf steht dann komischerweise 1947
Liegt wohl am Jahr 2000-Problem nun an Vista
Gruß Falko
was du haben willst. Aber die Maske lässt sich schon ändern
und zeigt dann das aktuelle Datum an. Das Jahr ist dann, wenn man es
zum Bsp auf 2047 ändert ein lustiges Ergebnis.
Ich bekomme dann zwar unten das Jahr korrekt angezeigt mit meinem
jetzigen Datum. Aber im Kopf steht dann komischerweise 1947

Liegt wohl am Jahr 2000-Problem nun an Vista

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
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Hier habe ich was passendes gefunden und etwas damit herumgespielt.
http://www.purebasic.fr/english/viewtop ... 9418#69418
Gruß ..Falko
http://www.purebasic.fr/english/viewtop ... 9418#69418
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