Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
Delphi XE7 Enterprise
|
StringGrid Text zentrieren 2006 - XE7
6. Feb 2015, 11:32
Delphi-Version: XE7
Hallo zusammen,
ich nutze nun XE7. Vorher hatte ich 2006.
Folgende Funktion nutzte ich dort:
Delphi-Quellcode:
procedure StringGridAlignment(Grid: TStringGrid; Rect: TRect; ACol, ARow: Integer;
Alignment: TAlignment; LineBreak: Boolean);
var
TextOut: string;
begin
Grid.Canvas.FillRect(Rect);
TextOut := Grid.Cells[ACol,ARow];
if LineBreak = false then
begin
if Alignment = taLeftJustify then
begin
Rect.Left := Rect.Left + 2;
DrawText(Grid.Canvas.Handle, PChar(TextOut), StrLen(PChar(TextOut)), Rect,DT_LEFT);
end;
if Alignment = taCenter then
DrawText(Grid.Canvas.Handle, PChar(TextOut), StrLen(PChar(TextOut)), Rect,DT_CENTER);
if Alignment = taRightJustify then
DrawText(Grid.Canvas.Handle, PChar(TextOut), StrLen(PChar(TextOut)), Rect,DT_RIGHT);
end
else
begin
if Alignment = taLeftJustify then
begin
Rect.Left := Rect.Left + 2;
DrawText(Grid.Canvas.Handle, PChar(TextOut), StrLen(PChar(TextOut)),
Rect,DT_LEFT+DT_WORDBREAK);
end;
if Alignment = taCenter then
DrawText(Grid.Canvas.Handle, PChar(TextOut), StrLen(PChar(TextOut)), Rect,
DT_CENTER+DT_WORDBREAK);
if Alignment = taRightJustify then
DrawText(Grid.Canvas.Handle, PChar(TextOut), StrLen(PChar(TextOut)), Rect,
DT_RIGHT+DT_WORDBREAK);
end;
end;
Seid Delphi XE7 wird das aber leider so dargestellt: (Bezeichnung doppelt)
Kleinbestellungen-2015-02-06 11_30_47.jpg
Gruss
Holger
Geändert von HolgerCW ( 6. Feb 2015 um 11:39 Uhr)
|
|
Zitat
|