<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Schriftart eine Fensters ermitteln]]></title><description><![CDATA[<p>Hallo,</p>
<p>in meiner Anwendung möchte ich über einen Button den Fensterihnalt zwischen 2 Schriftarten umschaltbar machen. Die erste Schrift ist die, die der Benutzer standardmässig benutzt wenn das Programm gestartet wird. Ich weiss ja nicht ob irgendwelche Themes oder sowas läuft. Die zweite Schrift ist die, die ich meinem Programm hinzufüge. So jetzt will ich beim Drücken des Buttons Informationen über die erste Schrift abspeichern und dann auf die zweite Schrift wechselnm, beim erneuten Drücken des Buttons soll wieder auf die erste Schrift gewechselt werden. Wie erhalt ich nun die benötigeten Informationen zur ersten Schriftart?</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196844/schriftart-eine-fensters-ermitteln</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 06:45:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196844.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Nov 2007 15:51:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schriftart eine Fensters ermitteln on Sat, 03 Nov 2007 15:51:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in meiner Anwendung möchte ich über einen Button den Fensterihnalt zwischen 2 Schriftarten umschaltbar machen. Die erste Schrift ist die, die der Benutzer standardmässig benutzt wenn das Programm gestartet wird. Ich weiss ja nicht ob irgendwelche Themes oder sowas läuft. Die zweite Schrift ist die, die ich meinem Programm hinzufüge. So jetzt will ich beim Drücken des Buttons Informationen über die erste Schrift abspeichern und dann auf die zweite Schrift wechselnm, beim erneuten Drücken des Buttons soll wieder auf die erste Schrift gewechselt werden. Wie erhalt ich nun die benötigeten Informationen zur ersten Schriftart?</p>
<p>Danke schon mal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397054</guid><dc:creator><![CDATA[Fonter]]></dc:creator><pubDate>Sat, 03 Nov 2007 15:51:18 GMT</pubDate></item><item><title><![CDATA[Reply to Schriftart eine Fensters ermitteln on Sat, 03 Nov 2007 16:13:25 GMT]]></title><description><![CDATA[<p>GetFont liefert Dir das Font Handle.<br />
GetObject liefert Dir dann die LOGFONT Struktur.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397059</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 03 Nov 2007 16:13:25 GMT</pubDate></item><item><title><![CDATA[Reply to Schriftart eine Fensters ermitteln on Sun, 04 Nov 2007 16:21:42 GMT]]></title><description><![CDATA[<p>Ja danke so bekomme ich die Informationen, aber leider wird mir die Schriftgrösse falsch ausgegeben. Also meine Fensterschrift ist &quot;MS Sans Serif&quot; mit Größe &quot;8&quot; es wird jedoch als lfHeight &quot;-8&quot; ausgegeben was eigentlich die Schriftgröße &quot;6&quot; representieren sollte, bei Größe &quot;8&quot; müsste &quot;-11&quot; stehen. Der Parameter lfFaceName gibt mir &quot;MS Sans Serif&quot; und ist ja somit richtig, wie läßt sich das erklären? Ich post hier mal meinen Code:</p>
<pre><code class="language-cpp">void GetFontInfos(HWND hwnd){

	HFONT		aktueller_font;
	LOGFONT	aktueller_logfont;

	aktueller_font = (HFONT)SendMessage(hwnd, WM_GETFONT, 0, 0);
	GetObject(aktueller_font, sizeof(LOGFONT), (PTSTR)&amp;aktueller_logfont);
	ShowHilfsfenster(va(&quot;Schriftnamen: %s&quot;, aktueller_logfont.lfFaceName));		
	ShowHilfsfenster(va(&quot;Schrifthöhe: %i&quot;, aktueller_logfont.lfHeight));		
	:									
	:
	:
	:
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1397575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397575</guid><dc:creator><![CDATA[Fonter]]></dc:creator><pubDate>Sun, 04 Nov 2007 16:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to Schriftart eine Fensters ermitteln on Sun, 04 Nov 2007 17:56:13 GMT]]></title><description><![CDATA[<p>Schau Dir ,al bitte an, wie die Punktgröße eines Fonts errechnet wird.</p>
<p>Um einen 12pt Font auf Deinem Scirm zu bekommen ist folgender Code nötig:</p>
<pre><code class="language-cpp">lf.lfHeight = -MulDiv(12, pDC-&gt;GetDeviceCaps(LOGPIXELSY), 72);
</code></pre>
<p>Du musst also rückwärts rechnen.</p>
<pre><code class="language-cpp">int iPoints = MulDiv(-lf.lfHeight,72,pDC-&gt;GetDeviceCaps(LOGPIXELSY))
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1397644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397644</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sun, 04 Nov 2007 17:56:13 GMT</pubDate></item><item><title><![CDATA[Reply to Schriftart eine Fensters ermitteln on Sun, 04 Nov 2007 18:54:31 GMT]]></title><description><![CDATA[<p>Yep hab ich jetzt gemacht, siehe code:</p>
<pre><code class="language-cpp">HDC		hdc;
	int		test;

	hdc = GetDC(0);
	test = -MulDiv(8, GetDeviceCaps(hdc, LOGPIXELSY), 72);
	ReleaseDC(0, hdc);
</code></pre>
<p>als Ergebniss kommt -11 raus, ähm ich sollte vielleicht noch erwähnen dass der zuerst gepostete Code um an die LOGFONT Daten zu kommen unter WinXP läuft. Lediglich wenn ich ihn auf einer Win98SE Maschine teste, (gleiche Hardware, gleiche Bilschirmsettings, Systemschritart auch gleich gesetzt) dann bringt er mir -8 als lfHeight. Any idea?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1397692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1397692</guid><dc:creator><![CDATA[Fonter]]></dc:creator><pubDate>Sun, 04 Nov 2007 18:54:31 GMT</pubDate></item></channel></rss>