Autor Beitrag
delphi-programmer
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 20.06.02 22:49 
Hallo Leute,
wie schaffe ich es, dass der Text in einem Edit-Feld nicht horizontal, sondern vertikal ausgerichtet wird???

Vielen Dank für eure Hilfe

Stefan
Torsten
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: So 23.06.02 02:39 
Moinsen!

Hmm, gute Frage.
Irgendwann habe ich sowas schon mal gemacht. Aber lange her.

Ich kann Dir nur sagen, dass es mit CreateFontIndirect aus der Win32-API gemacht wurde. Leider finde ich den Code nicht mehr.
Ich versuche jedoch ein Beispiel zu erstellen. Kann aber dauern.
Jedenfalls ist diese Funktion in der Lage, eine wählbare Ausrichtung der Schrift zu erzeugen. Besser gesagt, eine Schrift mit wählbarer Ausrichtung.

Grüße

Torsten
delphi-programmer Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 23.06.02 10:28 
Titel: Dankend
Hallo,
vielen Dank für deine Hilfe, ich werde mich jetzt mal an diese Win32-Api ranwagen ... vielleicht habe ich ja ein bissle Glück, und es klappt ;-)

Auf einen Quelltext würde ich mich natürlich sehr freuen...

Bis dann
Torsten
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: So 23.06.02 15:04 
Moinsen!

So, habe da mal was gefunden. Ist aber nicht von mir.
Ich kann mich jedoch dran erinnern, selbst diese Prozedur verwendet zu haben. Wie gesagt, kann meinen eigenen Code nicht mehr finden. Ich suche aber weiter.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure AngleTextOut(CV: TCanvas; const sText: String; x, y, angle:integer);
var
  LogFont: TLogFont;
  SaveFont: TFont;
begin
  SaveFont := TFont.Create;
  SaveFont.Assign(CV.Font);
  GetObject(SaveFont.Handle, sizeof(TLogFont), @LogFont);
  with LogFont do
    begin
      lfEscapement := angle *10;
      lfPitchAndFamily := FIXED_PITCH or FF_DONTCARE;
    end; {with}
  CV.Font.Handle := CreateFontIndirect(LogFont);
  SetBkMode(CV.Handle, TRANSPARENT);
  CV.TextOut(x, y, sText);
  CV.Font.Assign(SaveFont);
  SaveFont.Free;
end;


Grüße

Torsten