AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

VirtualStringTree: Formatierung in einer Node

Ein Thema von Benedikt · begonnen am 2. Sep 2008 · letzter Beitrag vom 4. Sep 2008
Antwort Antwort
Benedikt
(Gast)

n/a Beiträge
 
#1

VirtualStringTree: Formatierung in einer Node

  Alt 2. Sep 2008, 22:28
Nabend

Ich hab schon danach gesucht, bin jedoch nur auf halbfertige, nicht funktionierende Lösungen, andere Nachfragen oder Verweise auf den DrawTree gestoßen.

Ich würde gern innerhalb einer Node eines VST einen bestimmten Teil des Textes zum Beispiel fett ausgeben.
Also ich denk mal im OnPaintText den Text selber zeichnen - erst den normalen Teil dann den fetten, dann wieder normal - oder?

Nur wie krieg ich das hin und dass es auch noch ordentlich aussieht (also auch so als sei es so gewollt - bin da WinAPI-Zeichentechnisch nicht so bewandert )?
Alle Beispiele die ich gefunden hab beschränken sich leider auf simple Zuweisungen und Änderungen je nach Column an TargetCanvas.

MfG Benedikt
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 10:13
Hallo Benedikt,

meines wissens gibt es in der WinAPI keinen Parser, der
FontStyle-Befehle interpretiert und auch im VST ist sowas
nicht eingebaut.

Es gibt aber auf jeden Fall Komponenten, die die z.B.
Basis-Html Styles interpretieren und umsetzen. Ich habe
z.B. ein Html-Label von TMS-Software, aber vielleicht gibt
es auch Freeware.
Die Frage wäre nur auch, wie schnell die Verarbeitung der
Formatierung durch den Parser ist, der ja bei jedem Node
aktiv sein muss.

Hattest du auch schon im Forum des VST geschaut?


Gruß
Jürgen
Jürgen Höfs
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#3

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 12:17
Hi,

jap, das Forum vom VST hab ich auch schon durchsucht
Mein Problem ist weniger das Parsen (ich weiß eigentlich ziemlich genau, welche Teile des Textes ich hervorgehoben haben möchte) als viel mehr wie ich dem VST beibringe, dass dann auch so zu zeichnen (primär welches Event, wie überschreib ich den original gezeichneten Text bzw. verhinder dass der gezeichnet wird, welche Funktionen, etc).

Allerdings ist das jetzt auch nicht mehr so dringend, da ich es geschafft hab im BeforePaintCell einfach eine Unterstreichung an den Stellen vorzunehmen, wo ich die hervorhebung wollte. Fett wäre zwar schöner, aber ich will mich da auch nicht ewig dran aufhalten - falls aber doch noch wem was einfällt...

MfG Benedikt
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.734 Beiträge
 
Delphi 2007 Professional
 
#4

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 13:21
Ich hab ein ähnliches Problem mit DrawRichText.pas von hier und dem VirtualDrawTree gelöst - siehe Anhang.

HTH,
Uli.
Angehängte Dateien
Dateityp: zip vt_rtf_341.zip (2,3 KB, 28x aufgerufen)
Uli Gerhardt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 13:29
http://www.soft-gems.net/supplement/download.php?ID=67
Markus Kinzler
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#6

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 16:20
@Uli: Super, Danke. Genau sowas hab ich gesucht
Ich geh dann mal davon aus, dass man sobald man solche Änderungen machen möchte, man um den DrawTree nicht herumkommt.
Eine Frage noch zu deinem Code: Mein Delphi (7) kennt kein TTextFormat und für diese Zeile
TextFormat := [tfExpandTabs, tfNoClip]; kennt das dem RtfLabel beiliegende TRtfTextFormat keine Entsprechungen - es scheint aber trotzdem alles zu funktionieren. Was sollen diese Flags denn bewirken?

@mkinzler: Danke, aber die Hilfe kannt ich schon Nach nochmaligen Angucken sagt sie mir eben auch nur: DrawTree nehmen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 16:23
Schau dir mal Inner Fundamentals -> Paint cycle and stages
Markus Kinzler
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#8

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 16:48
Zitat von mkinzler:
Schau dir mal Inner Fundamentals -> Paint cycle and stages
Den hab ich wohl gelesen, aber wenn ich nichts übersehe dann wüsst ich nicht, an welcher Stelle im PaintCycle ich meinen Text komplett selbst zeichnen könnte/sollte.
Davon ab funktioniert die gepostete Lösung mit dem DrawTree einwandfandfrei
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.734 Beiträge
 
Delphi 2007 Professional
 
#9

Re: VirtualStringTree: Formatierung in einer Node

  Alt 4. Sep 2008, 16:50
Zitat von Benedikt:
@Uli: Super, Danke. Genau sowas hab ich gesucht
Freut mich.

Zitat von Benedikt:
Eine Frage noch zu deinem Code: Mein Delphi (7) kennt kein TTextFormat und für diese Zeile
TextFormat := [tfExpandTabs, tfNoClip]; kennt das dem RtfLabel beiliegende TRtfTextFormat keine Entsprechungen - es scheint aber trotzdem alles zu funktionieren. Was sollen diese Flags denn bewirken
Zitat von DrawRichText.pas:
Unsupported flags:
tfNoClip, tfEditControl, tfEndEllipsis, tfPathEllipsis, tfExpandTabs,
Keine Ahnung, wie die in meinen Code gekommen sind.
Uli Gerhardt
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:23 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