Autor Beitrag
Softchaos67
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 103

XP Prof
Delphi 7
BeitragVerfasst: Mi 28.06.06 16:16 
Hallo, ich habe bei den Schweizern den folgenden Code gefunden:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
uses
  CommCtrl;

type
  THackCommonCalendar = class(TCommonCalendar);

  {...}

procedure TForm1.DateTimePicker1DropDown(Sender: TObject);
var
  Style: Integer;
  ReqRect: TRect;
  MaxTodayWidth: Integer;
begin
  with THackCommonCalendar(Sender as TDateTimePicker) do
  begin
    // set style to include week numbers
    Style := GetWindowLong(CalendarHandle, GWL_STYLE);
    SetWindowLong(CalendarHandle, GWL_STYLE, Style or MCS_WEEKNUMBERS);
    FillChar(ReqRect, SizeOf(TRect), 0);
    // get required rect
    Win32Check(MonthCal_GetMinReqRect(CalendarHandle, ReqRect));
    // get max today string width
    MaxTodayWidth := MonthCal_GetMaxTodayWidth(CalendarHandle);
    // adjust rect width to fit today string
    if MaxTodayWidth > ReqRect.Right then
      ReqRect.Right := MaxTodayWidth;
    // set new height & width
    SetWindowPos(CalendarHandle, 000, ReqRect.Right, ReqRect.Bottom,
      SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOZORDER);
  end;
end;


Ich hätte das aber gerne als einstellbare Option bei der Komponente. Wie kann man das bewerkstelligen?
Ich habe bereits eine Klasse dtp von DateTimePicker abgeleitet und mit eigenen Eigenschaften ausgestattet, die Anzeige der Kalenderwochen in der Droppdown-Liste macht mir allerdings Probleme.
Danke für eure Mitthilfe

_________________
cum grano salis
Softchaos67 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 103

XP Prof
Delphi 7
BeitragVerfasst: Do 29.06.06 16:08 
ist das gewünschte nicht zu realisieren?
Ich habe die OnDropDown jetzt im Constructor Create zugewiesen. Das funktioniert aber nur solange niemand ein eigenes OnDropDown implementiert.
Ich weiss einfach nicht wo ich mich dazwischen schalten soll/kann.
Bin für alle Vorschläge dankbar.

Keiner da, der mir das erklären kann?
Geht das überhaupt?

_________________
cum grano salis
Softchaos67 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 103

XP Prof
Delphi 7
BeitragVerfasst: Mi 05.07.06 16:10 
Ich hoffe ja immer noch auf Hilfe.
Zur besseren erklärung:
einfach ein TDateTimePicker Contr auf ein Form ziehen, bei Ereignissen auf OnDropDown doppelklicken, den obigen Source einfügen.
Jetzt zeigt der Picker auf der linken Seite(beim Aufklappen) die Kalenderwochen an.

Das würde ich gerne als Eigenschaft verfügbar machen.
Der Vorfahr CommonCalendar hat bereits eine Property WeekNumbers. Kann man damit vieleicht was anfangen?
Bin für jeden Vorschlag dankbar.

_________________
cum grano salis