Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: CreateFontIndirect - Seltsames Phänomen

  Alt 6. Okt 2007, 20:08
Zitat von Hawkeye219:
Hallo,

Zitat von Luckie:
Jetzt kann man nur raten.
Dann tue ich das mal: Neutral General möchte einen Text gedreht ausgeben. Das funktioniert aber mittels Windows-API nur bei TrueType-Schriftarten - MS Sans Serif gehört nicht dazu.

Gruß Hawkeye
Döödööööö... falsch

Hab ne eigene TFont Klasse..

Delphi-Quellcode:
// Bei jeder Änderung an FFontData (: TLogFont)
procedure TFont.Changed;
begin
  if ffnt <> 0 then // ffnt: HFONT
    DeleteObject(ffnt);
  ffnt := CreateFontIndirect(fFontData);
  if FParent <> 0 then
    SendMessage(FParent,WM_SETFONT,wparam(ffnt),lparam(true));
end;

// Fontname Set-Procedure
procedure TFont.SetName(const Value: String);
begin
  StrCopy(fFontData.lfFaceName,PChar(Value));
  Changed;
end;
Setzt man nun AFont.Name := 'MS Sans Serif' dann wird erstmal die Schriftart nicht geändert (glaub ich... ka..) aber jedenfalls kann man die Schriftgröße nichtmehr ändern...

Delphi-Quellcode:
procedure TFont.SetSize(const Value: Integer);
begin
  fFontData.lfHeight := -MulDiv(Value, GetDeviceCaps(GetDC(FParent), LOGPIXELSY), 72);
  Changed;
end;
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat