![]() |
Zeichenbreite verändern
Hallo Leute!
Ich möchte die Zeichenbreite eines Windows-Fonts verändern, finde aber nirgendwo Informationen dazu. Um Mißverständnissen vorzubeugen: Ich möchte nur die Breite verändern! Hab das früher schon mal in GFA-BASIC (Kennt das außer mir noch jemand? :lol:) geproggt. Das ging so:
Code:
Danach konnte man z.B. mittels
GETFONT SYSTEM_FONT
FONT "times",HEIGHT 24,WIDTH 10,WEIGHT 800,FAMILY FF_SWISS, QUALITY 2, PITCH FIXED_PITCH TO fnt_13& FONT "times",HEIGHT 24,WIDTH 12,WEIGHT 800,FAMILY FF_SWISS, QUALITY 2, PITCH FIXED_PITCH TO fnt_12& FONT "times",HEIGHT 24,WIDTH 23,WEIGHT 800,FAMILY FF_SWISS, QUALITY 2, PITCH FIXED_PITCH TO fnt_14&
Code:
diesen Font benutzen. Mittels
SETFONT fnt_13&
Code:
konnte man den Font löschen und den Speicher dann wieder freigeben. Die fnt_xx& sind dabei die Font-Handles für Windows.
FREEFONT fnt_13&
Geht sowas auch unter Delphi? THX Jürgen |
Re: Zeichenbreite verändern
Hallo Jürgen,
was du da mit der Windows-Version des Amiga Basic Compilers gemacht hast, kannst du in Delphi so machen:
Delphi-Quellcode:
Durch diese Einstellung wird Windows angewiesen eine feste Zeichenbreite anzunehmen. Ob und wie Windows darauf reagiert, darauf hast du keinen Einfluß. Manchmal wird nur die Breite geändert, manchmal wird der Font komplett gewechselt - auch gar keine Reaktion ist möglich.
Font.Pitch := fpFixed;
Grüße vom marabu |
Re: Zeichenbreite verändern
Hallo Marabu :hi: , danke für die Antwort!
Das ist mir wohl bekannt, aber mit
Delphi-Quellcode:
stelle ich nur ein, ob der Abstand zwischen den Zeichen variabel (Proportionalschrift) oder fix sein soll. Die Zeichenbreite selbst kann ich damit nicht verändern!
Font.Pitch := fpFixed;
Übrigens meinte ich das GFA-BASIC für Windows! Und die Befehle FONT, SETFONT und FREEFONT kapseln eigentlich nur irgendwelche Windows-API-Calls. Und die müßte ich doch auch mittels Delphi ereichen können, oder? Weiß sonst jemand Rat? Danke Jürgen |
Re: Zeichenbreite verändern
Hab grad mal die alten GFA-Unterlagen durchgesehen.
Dort wird CreateFont benutzt, und dazu gibt's n nettes Tutorial von Luckie! Werd ich mir mal ansehen :roteyes: , bisweilen Danke! Sollte noch jemandem was ganz simples zur Lösung einfallen, immer her damit! :coder: |
Re: Zeichenbreite verändern
:coder2: Fertig!
So geht's:
Delphi-Quellcode:
Danke Marabu für dein Engagement :thumb: .
MyFont20 := Windows.CreateFont(24, 20, 0, 0, FW_BOLD, 0, 0, 0,
ANSI_CHARSET, OUT_RASTER_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FIXED_PITCH + FF_MODERN, 'Courier New'); Bis bald Jürgen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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