AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid Text zentrieren 2006 - XE7

Ein Thema von HolgerCW · begonnen am 6. Feb 2015 · letzter Beitrag vom 6. Feb 2015
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

StringGrid Text zentrieren 2006 - XE7

  Alt 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)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: StringGrid Text zentrieren 2006 - XE7

  Alt 6. Feb 2015, 11:45
DefaultDrawing sollte False sein, sonst zeichnet die Grid selbst und du dann auch nochmal.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

AW: StringGrid Text zentrieren 2006 - XE7

  Alt 6. Feb 2015, 11:55
Hallo,

habe mal DefaultDrawing auf FALSE gesetzt. Dann müsste ich aber auch alles andere selber zeichnen. Die Kopfzeile ist dann nicht mehr so rundlich dargestellt etc.

Kann man nicht über den vorherigen Text drüber schreiben indem der entfernt wird ?

Mit dem selben Code ging das in Delphi 2006 ja auch. Was ist jetzt anders ?

Gruss

Holger
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#4

AW: StringGrid Text zentrieren 2006 - XE7

  Alt 6. Feb 2015, 13:28
Hat jemand eine Lösung ?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz