AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CreateFontIndirect - Seltsames Phänomen

CreateFontIndirect - Seltsames Phänomen

Ein Thema von Neutral General · begonnen am 6. Okt 2007 · letzter Beitrag vom 6. Okt 2007
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

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

CreateFontIndirect - Seltsames Phänomen

  Alt 6. Okt 2007, 17:15
Hi,

Also es klappt generell schon. Nur nicht bei jeder Schriftart.. Wenn ich als Schriftart 'MS Sans Serif' angebe dann funktionierts nicht. Also die Schriftgröße wird ignoriert und alles. Ganz komisch...

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
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: CreateFontIndirect - Seltsames Phänomen

  Alt 6. Okt 2007, 18:01
Jetzt kann man nur raten. Eion bißchen Code könnte aber enorm weiterhelfen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#3

Re: CreateFontIndirect - Seltsames Phänomen

  Alt 6. Okt 2007, 18:27
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
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

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

Re: CreateFontIndirect - Seltsames Phänomen

  Alt 6. Okt 2007, 19: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
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#5

Re: CreateFontIndirect - Seltsames Phänomen

  Alt 6. Okt 2007, 19:26
Folgendes funktioniert:

CreateFont(50, 0, 0, 0, 0, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, 'MS Sans Serif'); Je nachdem wie der erste Wert, also hier die 50, aussieht, verändert sich die Größe der ausgegebenen Schrift.
Compiler: VC++ 6.0
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: CreateFontIndirect - Seltsames Phänomen

  Alt 6. Okt 2007, 19:35
Zitat von Neutral General:
Döödööööö... falsch
Möglicherweise ist das nicht mein Tag - die gezogenen Lottozahlen sahen jedenfalls anders aus als meine.

Es könnte aber dennoch daran liegen, daß du keine TrueType-Schriftart eingestellt hast. Die Bitmap-Schriftarten sind nämlich nicht in allen Größen verfügbar, wie du im Font-Dialog leicht überprüfen kannst.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf