AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???
Thema durchsuchen
Ansicht
Themen-Optionen

Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???

Ein Thema von romber · begonnen am 18. Jan 2013 · letzter Beitrag vom 18. Jan 2013
Antwort Antwort
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???

  Alt 18. Jan 2013, 16:02
Hallo!

Ich möchte auf der Canvas ein Text zeichen, in dem bestimmte Wörter fett dargestellt werden. Etwa so:

Firma: Irgendwas GmbH, Name: Mustermann, Vorname: Franz usw...

Dafür muss ich für jedes Teil den Font.Style der Canvas umschalten und das neue Wort direkt am Ende des bisherigen zeichnen. Nun habe ich das Problem, dass ich nicht weis, wo das Ende des Textes ist. TextWidth steht mir in dem Fall nicht zur Verfügung.

Wie bekomme ich die Koordinates des letzten auf der Canvas gezeichneten Pixels?
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#2

AW: Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???

  Alt 18. Jan 2013, 16:06
xxx.Canvas.TextOut(xxx.Canvas.PenPos.x,xxx.Canvas. PenPos.y,Text);

xxx steht hier für das betreffende Canvas-Objekt,
wenn es der Printer ist, also Printer.canvas, ansonsten ...

Text für den aktuellen Ausgabestring

Geändert von MeierZwoo (18. Jan 2013 um 16:09 Uhr)
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???

  Alt 18. Jan 2013, 16:14
Viele Dank für die schnelle Reaktion!

PenPos ist irgenwie gar nicht da.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

AW: Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???

  Alt 18. Jan 2013, 16:21
Delphi-Quellcode:
procedure TFrmXYZ.DrawTheText(theCanvas: TCanvas; X,Y: Integer; theText: String);
var
  p, w: integer;
  s: string;
begin
  p := Pos(':'#32, theText);

  with theCanvas do
  begin
    Font.Style := Font.Style + [fsBold];
    s := Copy(theText, 1, p+1);
    w := TextWidth(s);
    TextOut(X, Y, s);

    Font.Style := Font.Style - [fsBold];
    Delete(theText, 1, p + 1);
    TextOut(X + w , Y, theText);
  end;
end;

procedure TFrmXYZ.Paint...;
begin
  DrawTheText(Canvas, 50, 160, 'Vorname: Otto');
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#5

AW: Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???

  Alt 18. Jan 2013, 16:27
PenPos ist irgenwie gar nicht da.
Sorry, kann sein, das PenPos nur im Printer.Canvas Object existiert.

Aber eine Lösung mit der Weite ist ja im obigen Post beschrieben.
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#6

AW: Text auf Canvas mit unterschidlichen Schrift-Styles zeichen???

  Alt 18. Jan 2013, 17:12
Ich kann nichts zu Delphi 2010 sagen, aber in 2009 ist im allgemeinen TCanvas

TCanvas.PenPos Eigenschaft, property PenPos: TPoint;

vorhanden. Nicht nur im Printer.

Wäre auch merkwürden, wenn zwar die Koordinaten angesteuert werden können aber nicht ausgelesbar wären.
  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 02: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