AGB  ·  Datenschutz  ·  Impressum  







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

RichEdit Schriftgröße ändern ?

Ein Thema von Davidlocke13 · begonnen am 29. Nov 2012 · letzter Beitrag vom 29. Nov 2012
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#1

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 13:09
Nein, die Eigenschaft SelAttributes vom Typ TTextAttributes.
Zitat:
Die meisten Schriftmerkmale, die von einem TTextAttributes-Objekt repräsentiert werden, sind dieselben wie die Eigenschaften eines TFont-Objekts, wobei auch die Namen identisch sind. Schriftarten können einem Textattribut zugewiesen werden und umgekehrt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 13:25
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with RichEdit1 do
  begin
    Lines.Text := 'Zwischen zwei Zwetschgen zwitschern zwei Schwalben';
    SelStart := 9;
    SelLength := 15;
    SelAttributes.Name := 'Courier New';
    SelAttributes.Color := clRed;
    SelAttributes.Size := 15;
    SelAttributes.Style := [fsBold, fsItalic];
    SelAttributes.Style := SelAttributes.Style - [fsItalic];
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 13:38
Zitat:
Legt die Attribute des Textes fest
deshalb habe ich gedacht das passt
David
ApfelsineMandarineAllesGleich
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#4

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 13:54
Und deshalb hatte ich ja gefragt, welche Schriftgröße. Font ist für die generell anzuwendende Schrift und SelAttributes für die des markierten Textes zuständig.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 14:05
Zitat:
Legt die Attribute des Textes fest
deshalb habe ich gedacht das passt
Ich weiß nicht wo du da ein Font siehst. RichEdit hat DefAttributes, mit denen du sozusagen die Standardvorlage für den ganzen Text definierst, und SelAttributes, für einzelne Formatierungen. Mit Font der Komponente RichEdit veränderst du DefAttributes.
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 14:08
Ah ok jetzt verstehe ich das langsam
David
ApfelsineMandarineAllesGleich
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 14:09
Das Beispiel ausführen, dann versteht man das auch ganz.
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 17:32
Also
Code:
procedure TForm1.SpinEdit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
{hier sollte ich glaube noch die Aktuelle Text größe prüfen ?}
RichEdit1.SelAttributes.Size := {Aktuelle Textgröße + 1};
end;
ich hoffe das geht in die richtige Richtung ?

Wenn nicht dürft ihr mich alle mal hauen
David
ApfelsineMandarineAllesGleich
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#9

AW: RichEdit Schriftgröße ändern ?

  Alt 29. Nov 2012, 20:11
So kriegst du es nicht hin, also zu allem eine 1 addieren oder subtrahieren. Der Grund ist, dass ein markierter Text nicht die gleiche Fontgröße haben muss. Er kann, muss aber nicht. Das geht bei TMemo, die eine Größe hat, auch bei DefAttributes, da sie für ganzen Text gilt, aber nicht für SelAttributes.

Deshalb in TTextAttributes, also auch unter SelAttributes zu finden, die Methode ConsistentAttributes. Die sagt dir ob der markierte Block zusammen Fett oder nicht ist, gleiche Farbe hat, gleiche Schriftgröße, gleiche Schrift usw. ConsistentAttributes sagt dir also nicht die Schriftgröße, sondern ob alle gleich groß sind, oder, oder, oder.
Delphi-Quellcode:
  with RichEdit1 do
  begin
    ...

    SelLength := 16;
    if caBold in SelAttributes.ConsistentAttributes then
      ShowMessage('Alles zusammen ist fett') else
      ShowMessage('Einige Zeichen sind fett, andere nicht');
  end;
Wenn du den Schriftgrad um einen Punkt erhöhen willst, dann mußt du den ganzen Text einzeln analysieren und erhöhen. Und mit einer Funktion krisgst du das nicht hin. Dazu mußt du programmieren.
  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 01:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz