Dategadget Kalender gößer darstellen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Dategadget Kalender gößer darstellen

Beitrag von RSBasic »

Das wäre aber leider etwas zu spät bei seinen 17.000 Zeilen. :mrgreen:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: Dategadget Kalender gößer darstellen

Beitrag von gnaps »

HI,

17706 Zeilen um genau zu sein, sitze schon 3,5 Jahre an diesem Projekt,
läuft auch schon seit 2 Jahren in der Praxis.

Canvas ist für mich zu aufwendig, ich nehme lieber die fertigen Bordmittel.

Dennoch danke für die Tipps.

gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: Dategadget Kalender gößer darstellen

Beitrag von gnaps »

Hi RSBasic,

das mit dem DateGadget ist nicht die optimale Lösung.
Ich öffne jetzt ein eigenes Fenster mit einem CalenderGadget.

Hast du auch den Code für das CalenderGadget ?

Da habe ich jetzt immer noch die kleinen Zahlen.

Wäre Super.

Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Dategadget Kalender gößer darstellen

Beitrag von RSBasic »

Code: Alles auswählen

EnableExplicit

LoadFont(1, "Segoe UI", 15)

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  CalendarGadget(1, 10, 10, 250, 300)
  SetWindowTheme_(GadgetID(1), @"", @"")
  
  SetGadgetFont(1, FontID(1))
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: Dategadget Kalender gößer darstellen

Beitrag von gnaps »

HI RSBasic,

Danke wie immer perfekt.

Kannst Du mir das erklären

SetWindowTheme_(GadgetID(#cal_Kalender), @"", @"")

jetzt brauch ich das

Code: Alles auswählen

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
nicht mehr.

gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Dategadget Kalender gößer darstellen

Beitrag von RSBasic »

gnaps hat geschrieben:Kannst Du mir das erklären

SetWindowTheme_(GadgetID(#cal_Kalender), @"", @"")
Standardmäßig werden alle Controls von Windows mit dem aktuellen Windows-Design (Theme) dargestellt. Einige Controls lassen sich aber optisch nicht verändern.
Deshalb muss man das Design des Controls auf Klassisch umstellen, damit man z.B. die Möglichkeit hat, die Schriftgröße zu verändern.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: Dategadget Kalender gößer darstellen

Beitrag von Shardik »

Wenn man in RSBasics letztem Beispiel die nur in Windows verwendbare API-Funktion SetWindowTheme_() in diesen CompilerIf-Block

Code: Alles auswählen

  CompilerIf #PB_Compiler_OS = #PB_OS_Windows
    SetWindowTheme_(GadgetID(1), @"", @"")
  CompilerEndIf
setzt, dann läuft das Beispiel auch unverändert unter Linux (getestet mit Linux Mint 18.1 x64 Cinnamon), nicht aber unter MacOS (getestet mit MacOS 10.6.8 'Snow Leopard'), wo die Font-Größe des CalendarGadget sich anscheinend nicht ändern läßt.
Häns
Beiträge: 47
Registriert: 27.10.2007 14:30
Wohnort: Kölle

Re: Dategadget Kalender gößer darstellen

Beitrag von Häns »

.
PB 5.6
Windows 7 Professional
Antworten