AGB  ·  Datenschutz  ·  Impressum  







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

Textausrichtung mal anders

Ein Thema von Alter Mann · begonnen am 27. Okt 2015 · letzter Beitrag vom 27. Okt 2015
Antwort Antwort
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Textausrichtung mal anders

  Alt 27. Okt 2015, 17:41
Hallo,

im Zuge eines Projektes tauchte auf einmal ein kleines Designproblem'chen' auf.
In einem VST sollen die verfügbaren Sprachen aufgelistet werden und zwar der Name Links und die LCID Rechts.

Wie bekomme ich die LCID-Ausrichtung gleichmäßig hin, ohne zu tief in AfterCellPaint einzugreifen?

Danke

Demo-Code hängt an (läuft unter XE8).
Angehängte Dateien
Dateityp: zip LLE.ZIP (62,7 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Textausrichtung mal anders

  Alt 27. Okt 2015, 19:53
In deinem VirtualStringTree existiet nur eine Spalte. Benötigt man verschiedene Ausrichtungen, verwendet man entsprechend mehr Spalten. Für dich würde eine zusätzliche Spalte genügen. Zusätzlich solltest du dir einen NodeData-Typen deklarieren:
Delphi-Quellcode:
TYPE
  PNodeData = ^TNodeData;
  TNodeData = Record
               Titel : String[100];
               Id : Integer;
              End;
CONST
  SizeNodeData = SizeOf(TNodeData);
Bei der Zuweisung der Node-Daten weist du dem Titel das zu, was bei dir vordem Data.Entry.Caption hieß, der Id die erzeugte Id. Bei mir (ich lese Branchen und Zusatzinfos aus einer Tabelle ein) sieht das so aus:
Delphi-Quellcode:
...
  BranchenStart := Sender.AddChild(Sender.RootNode);
  vData := Sender.GetNodeData(BranchenStart);
  vData.Id := Id;
  vData.Titel := STR_200(Titel);
  Qset_Branchen.Next;
...
In der GetText-Procedure fragst du dann nicht nach dem Level, sondern nach der Spalte:
Delphi-Quellcode:
procedure TFormMain.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
  var CellText: string);
Var
  vData : PNodeData;

begin
  vData := Sender.GetNodeData(Node);

  Case Column Of
  0 : CellText := String(vData.Titel);
  1 : CellText := String(vData.Id);
  End;
end;
Die Ausrichtung der jeweiligen Spalten nimmst du im ObjectInspector vor.

Ungetestet, da aus einem meiner Projekte herauskopiert ...
Miniaturansicht angehängter Grafiken
vst2spalt.jpg  
  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 12:50 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