AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

schrift-details

Ein Thema von milurt · begonnen am 30. Jun 2022 · letzter Beitrag vom 2. Jul 2022
Antwort Antwort
Seite 1 von 2  1 2      
milurt

Registriert seit: 16. Dez 2020
30 Beiträge
 
#1

schrift-details

  Alt 30. Jun 2022, 10:34
bei docs.microsoft.com steht nicht wie ich die
schriftgrösse und schriftart ändern kann, wie arial,
um sie bei TextOut zu verwenden.
durch prozedurenamen von windows dlls oder in tpu in
von embarcadero.
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: schrift-details

  Alt 30. Jun 2022, 10:40
Sofern die Quellen der VCL vorhanden sind, einfach da mal schauen, wie es die Klasse TCanvas macht.
Bernd
  Mit Zitat antworten Zitat
milurt

Registriert seit: 16. Dez 2020
30 Beiträge
 
#3

AW: schrift-details

  Alt 30. Jun 2022, 10:47
die haben mich aber hier rübergeschickt.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: schrift-details

  Alt 30. Jun 2022, 11:00
Versuchst Du, per GDI in einem Fenster zu zeichnen, ohne die VCL zu benutzen?
Das ist ein Job für Masochisten.

Du mußt zuerst einen font erzeugen, dazu gibt es API-Funktionen wie CreateFont, CreateFontIndirect oder CreateFontIndirectEx (beides in A und W-Versionen, die Delphi windows-Unit verwendet die W-Versionen, da die den Font-Namen als Unicode-String erwarten). Die Funktionen geben ein Font Handle (HFONT) zurück, das man dann in einen device context (HDC) selectiert (SelectObject), um es dann in Funktionen wie TextOut zu verwenden. Die Text-Farbe ist dabei die momentan gesetzte Vordergrundfarbe, und die wird durch die Farbe des selektierten Pens bestimmt.
Und nicht vergessen: alles, was man explizit an GDI-Objekten erzeugt und in einen device contect selektiert muß man auch wieder aus diesem herausholen und dann zerstören (DeleteObject)...

Delphis TCanvas verpackt diesen ganzen Aufwand sehr komfortabel und ist sehr viel einfacher zu nutzen.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#5

AW: schrift-details

  Alt 30. Jun 2022, 11:27
[OT] statt einem neuen Post, wäre es besser gewesen, wenn du deinen Post gemeldet hättest und gebeten ihn zu verschieben
Aber zumindesten sollte man dann im neuen Post mit erwähnen, wo es los ging (weil dort oft noch was steht, was dann hier als Infos fehlt).

Verlinkung zum ersten Post --->>> https://www.delphipraxis.net/210906-...t-details.html
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Jun 2022 um 11:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: schrift-details

  Alt 30. Jun 2022, 12:29
Per Non-VCL (WinAPI) macht man es so:

Delphi-Quellcode:
//global
var
   hFont: Integer;

//nachdem du deine Klasse und Controls erzeugt hast, vor der Message-Loop, kommt das:
  hFont := CreateFont(-13, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH or FF_DONTCARE, 'MS Sans Serif');
// damit ist in "hFont" alles hinterlegt was man benötigt.
// nun muss man den Controls noch mitteilen, hey du, nutze bitte diese font
  if hFont <> 0 then
  begin
    SendMessage(DeineControlID, WM_SETFONT, hFont, 0);
  end;
// um es letzten endes auch darzustellen
 UpdateWindow(Handle);


// nach der message loop auch wieder bereinigen!
    DeleteObject(hFont);
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: schrift-details

  Alt 30. Jun 2022, 12:58
Kannst du uns mal aufklären was du eigentlich genau machen willst? Ein Canvas bekommst du von jedem Element das ein Canvas bereit stellt. TForm.Canvas, TPanel.Canvas,TGraphicControl.Canvas, etc. Desweiteren kannst du auch ein eigenes Canvas erstellen und diesem deinen eigenen HDC zuweisen. Wieso willst du das diekt per Win32 SDK machen und nicht die Delphi Klassen nuntzen, die deses schon längest implementiert haben? Diese Klassen nutzen auch die Win32 SDK nur kannst du es viel einfacher nutzen und musst dich nicht mühsam mit der Win SDK herumschlagen. Dieser Job wurde vor vielen Jahren schon Borland (mindestens seit Delphi 1) für dich gemacht.
  Mit Zitat antworten Zitat
milurt

Registriert seit: 16. Dez 2020
30 Beiträge
 
#8

AW: schrift-details

  Alt 30. Jun 2022, 17:43
himitsu, wenn ich forum-rübergeschickt wurde, werden die sich nicht mehr interessieren.
rolf frei, wenn es schon so viele canvas gibt, welchen soll ich benutzen, ich weiss immer
noch nicht woher canvas kommt oder einzufügen ist (tpu,classe).
sowas wie eine createfont-procedure, die einfach in den text einzufügen ist, gefällt mir
am besten, aber ich wollte nicht kreieren sondern arial,... nutzen und die schriftgrösse
setzen. die farbe habe ich schon.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: schrift-details

  Alt 30. Jun 2022, 18:25
Leider hast du uns immernoch nicht aufgeklärt was du genau machen willst. Ist das deine Absicht, alles selber direkt per Win32 SDK zu machen und wenn ja wieso? Was ist falsch mit der Delphi Implementation der Win32 Objekte? Oder bist du einfach neu in Delphi und weisst nicht wie vorzugehen ist um dein Ziel zu erreichen? Sag uns was du genau machen willst und ob es da wirklich unbedingt direkte Win32 Programmierung sein muss und du keine Delphi Objekte, die das bereits alles gekapselt haben, nutzen kannst/willst.

Das Canvas ist eine Delphi Objekt, das die Win32 Grafikzeichenfläche in einer sehr mächtigen Delphi Klasse gekapselt hat. Wenn du irgnedwas direkt auf eine Delphi Form zeichnen willst, kannst du einfach das Canvas der TForm Klasse nutzen. Viel einfacher geht es kaum noch.
  Mit Zitat antworten Zitat
milurt

Registriert seit: 16. Dez 2020
30 Beiträge
 
#10

AW: schrift-details

  Alt 30. Jun 2022, 20:03
ich habe doch gesagt
Zitat:
sowas wie eine createfont-procedure, die einfach in den text einzufügen ist, gefällt mir
am besten,
und rolf frei du hast mir immer noch nicht gesagt welches object und unit das ist.
also die frage: was nützen mir all die prozeduren, die ich nicht brauche, wenn das
in die exe sogar mitgelinkt werden? und was ich alles herum programmieren muss um
dieses dann auch zu kriegen ist vielleicht zu viel.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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