Hi zusammen
In einem Containerframe habe ich 4 Frameinstanzen( im Endeffekt sollen es 12 sein):
Im Container gibts dies:
Delphi-Quellcode:
for i := Low(Monate) to High (Monate) do
begin
case i of //ContentDayNumberFrameUnit; DayNrFrameApril
1: begin
Self.DayNrFrameJanuary.InitDayNumberFrame;
LMonth := I;
Self.DayNrFrameJanuary.FirstMonthDay := StartOfAMonth(LYear, LMonth);
Self.DayNrFrameJanuary.LastMonthDay := EndOfAMonth(LYear, LMonth);
Self.DayNrFrameJanuary.LblCaption.Caption := Monate[i];
Self.DayNrFrameJanuary.HorzDayNumbersMonths;
end;
2: begin
Self.DayNrFrameFebruary.InitDayNumberFrame;
LMonth := I;
{Die Einstellungen hier sind Wiederholungen auf eine andere Instanz}
end;
3: ...
4: ...
5: ....
12:...
end;
end;
Im Basisframe gibts die Public deklarierte Prozedur InitDayNumberFrame, die, da sie Public deklariert ist, an Frameinstanzen wie DayNrFrameFebruary oder DayNrFrameApril vererbt werden sollte:
Delphi-Quellcode:
procedure TDayNumberFrame.InitDayNumberFrame;
begin
Self.StrGCalendarMonthFrame.ColWidths[0] := 40;
Self.StrGCalendarMonthFrame.ColWidths[1] := 30;
Self.StrGCalendarMonthFrame.ColWidths[2] := 30;
Self.StrGCalendarMonthFrame.ColWidths[3] := 30;
Self.StrGCalendarMonthFrame.ColWidths[4] := 30;
Self.StrGCalendarMonthFrame.ColWidths[5] := 30;
Self.StrGCalendarMonthFrame.ColWidths[6] := 30;
Self.StrGCalendarMonthFrame.ColWidths[7] := 30;
Self.StrGCalendarMonthFrame.Width := 8*30;
end;
Das Strinnggrid sollte zur Laufzeit also nicht breiter als die Summe seiner Spaltenbreiten sein. Ist aber nicht. Das grid und seine Breitenverhältnisse werden genauso dargestellt, wie im jpeg widergegeben.
Was ist da falsch?
Gruss
Delbor