Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Unterschiedliche FONTS in einem EDIT-Feld
juergen - Di 07.01.03 09:46
Titel: Unterschiedliche FONTS in einem EDIT-Feld
Hallo,
wie kann ich in einem EDIT-Feld zur Laufzeit Text in verschiedenen FONTS eingeben ?
Ich möchte Sonderzeichen über ein Popupmenü einfügen mit folgendem Code
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| procedure TForm1.FormContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); var pos : tpoint; x, y :integer; begin
if ActiveControl <> nil then test := ActiveControl; test_name:= test.Name; popupmenu1.Popup(mousepos.X+form1.left,mousepos.y+form1.top);
end;
procedure TForm1.Einfgen1Click(Sender: TObject); begin
form2.show;
end;
// Aus einer Listbox wird das Zeichen ausgewählt procedure TForm2.Button1Click(Sender: TObject); begin form1.show; hide; try for i:=0 to listbox1.Count-1 do if listbox1.Selected[i] then test.SetTextBuf(pchar(listbox1.Items[i])); except end; end; |
Das EDIT-Feld sollte default den FONT ARIAL haben und die Sonderzeichen den FONT SYMBOL
DANKE
juergen
Tino - Di 07.01.03 10:49
Hallo Jürgen,
mit dem Edit-Feld geht das nicht. Nimm die RichEdit Komponente und schau mal in der Hilfe die Eingenschaften dieser Komponente an. Da gibt es unter anderem die Eingeschaft SelAttributes. Diese sollte Dir eigentlich helfen. Hier im Forum findest Du unter dem Begriff SelAttributes auch einige brauchbare Beispiele!
Gruß
TINO
juergen - Di 07.01.03 14:52
Danke Tino,
ich denke das es mit TRichEdit funktioniert
ABER
die aktive Komponente stelle ich mit
Quelltext
1: 2: 3:
| if ActiveControl <> nil then test := ActiveControl; test_name:= test.Name; |
fest.
Wenn ich nun mit SelAttributes die Schriftart zuweisen möchte funktioniert das nicht, weil TWinControl nicht die Eigenschaft SelAttributes besitzt.
Was kann ich tun ?
DANKE
juergen
Tino - Di 07.01.03 17:16
Die Variable test sollte dann vom Type tRichEdit sein.
Ungefähr so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if (ActiveControl <> nil) and (ActiveControl is tRichEdit) then Begin test := tRichEdit (ActiveControl); test_name:= test.Name; End Else Begin test := nil; test_name := ''; End; |
Gruß
TINO
juergen - Mi 08.01.03 12:19
DANKE
jetzt läuft alles !
juergen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!