AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Sonderzeichen und Text auf Canvas schreiben

Ein Thema von stahli · begonnen am 17. Nov 2008 · letzter Beitrag vom 17. Nov 2008
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.196 Beiträge
 
Delphi 10.4 Sydney
 
#1

Sonderzeichen und Text auf Canvas schreiben

  Alt 17. Nov 2008, 12:25
Hallo alle,

ich möchte folgenden Text auf einen Canvas schreiben und umrahmen:

->G1

wobei der Pfeil möglichst ein "übliches" Sonderzeichen sein soll.

Bisher habe ich das ohne das "G" so gemacht:

Delphi-Quellcode:
with Canvas do
begin
  Font.Name := 'Symbol';
  DrawText(Handle, PChar(Char(174) + IntToStr(No)), -1, Rect, ...);
  ...
und die Rahmengröße mit TextWidth und TextHeight ermittelt.

Das "G" lässt sich aber mit dem Symbolzeichensatz nicht darstellen.

Welche Möglichkeit gibt es, solche "gemischten Texte" darzustellen?
Kann man auch hier die benötigte Breite und Höhe ermitteln?
Gibt es auch eine Zeichenfunktion für RTF-Text (fett, kursiv, unterstrichen wechselnd)?


Danke Stahli
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Sonderzeichen und Text auf Canvas schreiben

  Alt 17. Nov 2008, 12:54
Wenn das G nicht im Symbolschriftsatz ist könntest du einfach den Schriftsatz wechseln.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.196 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Sonderzeichen und Text auf Canvas schreiben

  Alt 17. Nov 2008, 12:58
ich habe keinen Schriftsatz gefunden, der Pfeilsymbole, Ziffern UND Buchstaben enthält...

EDIT: Ach ich sehe gerade, man darf ja anscheinend jetzt mehr als bis 255... Ich schaue es mir mal heute Abend näher an...
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#4

Re: Sonderzeichen und Text auf Canvas schreiben

  Alt 17. Nov 2008, 13:25
Zitat von stahli:
...Welche Möglichkeit gibt es, solche "gemischten Texte" darzustellen?
Hallo,

grundsätzlich gilt der Font wie er ist für die folgenden Textoperationen - ändert sich IRGENDWAS (Font, Grösse, Fett, Kursiv, Farbe, Ausrichtung...) so muss nach der Änderung der betreffende Text mit einer neuen Funktion ausgegeben werden. Also für ein fettes Wort in normalem Text braucht man also 3 mal TextOut o.ä. mit normal - fett - normal. Der Anfang des nächsten Textes ist dabei der Endpunkt des vorherigen.

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.196 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Sonderzeichen und Text auf Canvas schreiben

  Alt 17. Nov 2008, 19:06
@Reinhard:
Das hatte ich befürchtet - und gehofft, dass es vielleicht doch eine fertige Funktion dafür gibt...

@all:
Ich musste nur auf WideChar-Funktionen umstellen:
Delphi-Quellcode:
with Canvas do
begin
  Font.Name := 'Arial';
  DrawTextW(Handle, PWideChar(WideChar($2192) + 'G' + IntToStr(No)), -1, Rect, ...);
  ...
Stahli
  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 +2. Es ist jetzt 12:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf