Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TMonthCalendar & OnGetMonthInfo (https://www.delphipraxis.net/83535-tmonthcalendar-ongetmonthinfo.html)

Namron 4. Jan 2007 10:05


TMonthCalendar & OnGetMonthInfo
 
Morgen ... Mahlzeit was auch immer ;)

mein Problem ist das Ausfuehren von OnGetMonthInfo.

Delphi-Quellcode:
   _mycalendar.OnGetMonthInfo := getMonthInfo;
Hier mit weise ich dem soweit ich weiß meine Funktion zu. Diese wird aber nicht ausgefuehrt. Nun frage ich mich was ich danach ausfuehren muss damit dieses Event gefeuert wird. Ich habe es mit Invalidate oder Refresh probiert aber das brachte mich zu keinem Ergebnis.

Außerdem habe ich mein TMOnthCalendar auch noch ein kleines problem beim selektieren von Tagen. Dort wird die Fläche die ich selektiere weiss.

http://img291.imageshack.us/img291/8283/weissvb6.th.jpg

Kann mir jemand bei diesen beiden Problemen vielleicht helfen?

marabu 4. Jan 2007 13:51

Re: TMonthCalendar & OnGetMonthInfo
 
Hallo,

eine wirklich elegante Lösung für das Problem mit den BoldDays habe ich auch nicht gefunden, aber eine Krücke kann ich dir geben:

Delphi-Quellcode:
procedure RedrawCalendar(mc: TMonthCalendar);
var
  ms: Boolean;
begin
  with mc do
  begin
    LockWindowUpdate(Handle);
    ms := MultiSelect;
    MultiSelect := False;
    Date := Date - 50;
    Date := Date + 50;
    MultiSelect := ms;
    LockWindowUpdate(0);
  end;
end;
Die "weißen" Tage bei Auswahl eines Datumsbereiches sehen scheinbar auf jeder Maschine anders aus. Bei mir wird grundsätzlich nur der erste Wochentag ausgeblendet, aber auch nur wenn er nicht in der gleichen Woche liegt, wie Today oder EndDate. Seltsam.

Freundliche Grüße

Namron 4. Jan 2007 14:06

Re: TMonthCalendar & OnGetMonthInfo
 
Vielen dank :)
Damit hast du mir schon mal sehr geholfen. Nun bekomme ich noch ein paar Exceptions aber das sollte nich so das Problem sein ... denke ich ;)

Gibt es eine Möglichkeit das ich dieses weiße irgendwie deaktivieren kann?
Weil ich behaupte nun einfach mal, dass ein Nutzer nicht begeistert davon waere :p

FrankJ28 17. Sep 2010 17:29

AW: TMonthCalendar & OnGetMonthInfo
 
Hallo "Wissende",
ich grabe diese alte Frage nochmals aus, da ich vor dem gleichen Problem stehe und trotz Recherche hier im Forum keine gute Lösung finden konnte. Nochmals die Frage:

Wie kann ich den Kalender dazu veranlassen das event OnGetMonthInfo nochmals zu feuern?

Danke an alle Mitdenker
Ciao
Frank

mleyen 17. Sep 2010 23:10

AW: TMonthCalendar & OnGetMonthInfo
 
Es geht bestimmt irgendwie mit: Delphi-Referenz durchsuchenTMonthCalendar.CNNotify und MCN_GETDAYSTATE.
Nur so ganz hinbekommen hab ichs auf anhieb nicht. :oops:

Reicht evtl. folgender Workaround:
Delphi-Quellcode:
procedure RefreshBoldings;
var
  ADate: TDateTime;
begin
  ADate := AExtMonthCalendar.DateTime;
  AExtMonthCalendar.DateTime := 0;
  AExtMonthCalendar.DateTime := ADate;
end;
:?:

FrankJ28 18. Sep 2010 17:09

AW: TMonthCalendar & OnGetMonthInfo
 
Hallo Marcel,
danke für deine Mühe. Deine Lösung "klappt" ähnlich wie weiter oben bereits vorgeschlagen, ist halt nur ein workaround. Klappt zwar, aber die Anzeige des Kalenders rollt aber halt kurz hin und her. Ein echtes refresh wäre schon besser, ich forsche weiter.
Ciao
Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz