Seite 2 von 3
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 20.05.2017 18:39
				von gnaps
				Hi RsBasic,
Code eingebaut und die Procedure nach dem ersten DateGadget aufgerufen
und siehe da alle DateGadget habe den Großen Kalender.
Mannnnnnnnnnnn   

  du kannst Dir nicht vorstellen wie happy ich jetzt bin.
Wirklich von ganzem Herzen besten Dank.
Meine Frau und Ihre Mitarbeiter werden begeistert sein.
gruß
gnaps
 
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 20.05.2017 18:41
				von gnaps
				Hi RSBasic,
was mache ich unter Linux  
  
  
  
 
Gruß
gnaps
 
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 20.05.2017 18:44
				von RSBasic
				gnaps hat geschrieben:ich weis ich nerve, aber ich brauche das unbedingt.
Nein, du nervst nicht. Das Forum ist leider eh viel zu still.
Freut mich, dass es bei dir funktioniert und dass ich dir helfen konnte.
Dafür bin ich nicht zuständig und ich kenne mich mit Linux nicht aus. Da musst du auf andere User warten.
 
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 20.05.2017 19:17
				von gnaps
				HI RsBasic,
muss nochmals durchkommen, habe mich zu früh gefreut,
das ausgewählte datum wird in das DateGdagte eingetragen, jedoch
kommt das Datum mit GetGadgetstate() nicht in meiner Variable an.
Lasse ich den Aufruf  SetWindowCallback(@WindowCallback()) weg (kleiner Kalender)
kommt das Datum in meiner Variable an.
Was ist das nun ?
Ich Hoffe Du kannst mir nochmal helfen.
Gruß
gnaps
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 20.05.2017 19:35
				von RSBasic
				Bist du dir sicher, dass du dein DateGadget in deiner Event-Schleife richtig abfragst?
Hier ein Beispielcode:
Code: Alles auswählen
EnableExplicit
Define YourDateVariable
LoadFont(1, "Segoe UI", 15)
Procedure WindowCallback(hWnd, uMsg, wParam, lParam)
  Protected *NMDATETIMECHANGE.NMDATETIMECHANGE
  Protected Handle_DropDown
  Protected Handle_SysMonthCal32
  Protected ClassName$ = Space(1024)
  
  Select uMsg
    Case #WM_NOTIFY
      *NMDATETIMECHANGE = lParam
      
      If *NMDATETIMECHANGE\nmhdr\hwndfrom
        GetClassName_(*NMDATETIMECHANGE\nmhdr\hwndfrom, @ClassName$, Len(ClassName$))
        If ClassName$ = "SysDateTimePick32"
          If *NMDATETIMECHANGE\nmhdr\code = #DTN_DROPDOWN
            Handle_DropDown = FindWindow_("DropDown", 0)
            Handle_SysMonthCal32 = FindWindowEx_(Handle_DropDown, #Null, "SysMonthCal32", #Null)
            If Handle_SysMonthCal32
              SetWindowTheme_(Handle_SysMonthCal32, @"", @"")
              SendMessage_(Handle_SysMonthCal32, #WM_SETFONT, FontID(1), 0)
              SetWindowPos_(Handle_DropDown, 0, 0, 0, 250, 300, #SWP_SHOWWINDOW | #SWP_NOZORDER | #SWP_NOMOVE | #SWP_FRAMECHANGED)
            EndIf
          EndIf
        EndIf
      EndIf
      
  EndSelect
  
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  DateGadget(0, 10, 10, 300, 20, "%dd.%mm.%yyyy", Date())
  
  SetWindowCallback(@WindowCallback())
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 0
            Select EventType()
              Case #PB_EventType_Change
                YourDateVariable = GetGadgetState(0)
                Debug YourDateVariable
                Debug FormatDate("%dd.%mm.%yyyy", YourDateVariable)
            EndSelect
        EndSelect
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
 
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 20.05.2017 20:57
				von gnaps
				Hi RSBasic
hatte einen Fehler im Code, passt schon.
gruß
gnaps
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 21.05.2017 09:52
				von gnaps
				Hi RSBasic,
kannst Du mir noch sagen wie ich den Datumswert im DateGadget zentriert darstellen kann.
#PB_Text_Center gibts beim DateGadget ja nicht.
Du hast sicherlich eine Lösung.
Danke schon mal.
gruß
gnaps
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 21.05.2017 10:05
				von RSBasic
				Ich habe auf MSDN leider nichts gefunden. Aber vielleicht reicht dir ein Workaround aus?
Code: Alles auswählen
EnableExplicit
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  DateGadget(0, 10, 10, 300, 20, "                                     %dd.%mm.%yyyy", Date())
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
Ansonsten ist mir keine andere Lösung bekannt.
 
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 21.05.2017 10:21
				von gnaps
				Hi RSBasic,
diese Variante hatte ich auch schon, jedoch beim Parsen Probleme,
Nunja muss ich halt 176 "%dd.%mm.%yyyy" in "  %dd.%mm.%yyyy" ändern.
Leider geht das mit suchen und ersetzen nicht so einfach da manche "%dd.%mm.%yyyy" auch so bleiben müssen.
Dennoch danke.
gruß
gnaps
			 
			
					
				Re: Dategadget Kalender gößer darstellen
				Verfasst: 21.05.2017 10:38
				von Bisonte
				wenn das so weiter geht ... dann solltest du ein CanvasGadget dafür nehmen.... 
Dann kannst/musst du ALLES so zeichnen wie du es dir vorstellst. 
