<?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[Mauskoordinaten -&amp;gt; Fensterkoordinaten]]></title><description><![CDATA[<p>Hallo!<br />
Folgendes Problemchen: Ich möchte die Mauskoordinaten, die ich z.B. mit GetCursorPos() ermitteln kann in Fensterkoordinaten (= die Koordinaten, die man z.B. benutzt, um einen Button zu platzieren) umrechnen. Ein Fenster vom Typ TForm hat normalerweise ja noch 'ne Titelleiste und auch an den Seiten (wobei aber nur die linke interessiert) hat ein Fenster einen gewissen Rand. Und außerdem kann man es verschieben, sodass seine Position nicht immer (0|0) ist.</p>
<p>Hoffe ihr wisst, was ich meine und habt 'ne Lösung auf Lager. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Mr Train</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238038/mauskoordinaten-gt-fensterkoordinaten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 02:34:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238038.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 Apr 2009 16:37:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Sun, 05 Apr 2009 16:37:37 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Folgendes Problemchen: Ich möchte die Mauskoordinaten, die ich z.B. mit GetCursorPos() ermitteln kann in Fensterkoordinaten (= die Koordinaten, die man z.B. benutzt, um einen Button zu platzieren) umrechnen. Ein Fenster vom Typ TForm hat normalerweise ja noch 'ne Titelleiste und auch an den Seiten (wobei aber nur die linke interessiert) hat ein Fenster einen gewissen Rand. Und außerdem kann man es verschieben, sodass seine Position nicht immer (0|0) ist.</p>
<p>Hoffe ihr wisst, was ich meine und habt 'ne Lösung auf Lager. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Mr Train</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691331</guid><dc:creator><![CDATA[Mr Train]]></dc:creator><pubDate>Sun, 05 Apr 2009 16:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Sun, 05 Apr 2009 17:31:32 GMT]]></title><description><![CDATA[<p>Die Funktion die du suchst dürfte das hier sein: <a href="http://msdn.microsoft.com/en-us/library/ms724385(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms724385(VS.85).aspx</a></p>
<p>Eigenschaft &quot;SM_CXBORDER&quot;</p>
<p>MfG<br />
TFX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691355</guid><dc:creator><![CDATA[TFX]]></dc:creator><pubDate>Sun, 05 Apr 2009 17:31:32 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Sun, 05 Apr 2009 17:58:43 GMT]]></title><description><![CDATA[<p>Danke für die Antwort! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Die Funktion scheint richtig zu sein, aber nicht mit der Eigenschaft &quot;SM_CXBORDER&quot;. Die liefert bei mir irgendwie nur 1.</p>
<p>So wie es aussieht, muss man für die Breite der linken Grenze SM_CXSIZEFRAME benutzen und für die Höhe der gesamten Titelleiste ( <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> die besteht nämlich aus der Titelleiste selbst und der vertikalen Rahmengröße <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> ) SM_CYCAPTION + SM_CYSIZEFRAME.</p>
<p>Hoffe, das liefert auf anderen PCs auch die gewünschten Ergebnisse. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Mr Train</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691378</guid><dc:creator><![CDATA[Mr Train]]></dc:creator><pubDate>Sun, 05 Apr 2009 17:58:43 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Mon, 06 Apr 2009 09:05:25 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-14774.html" rel="nofollow">akari</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-2.html" rel="nofollow">VCL (C++ Builder)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691606</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 06 Apr 2009 09:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Mon, 06 Apr 2009 09:33:13 GMT]]></title><description><![CDATA[<p>So ganz deutlich ist die Frage jetzt nicht. Möchtest du herausfinden, wie breit die Fensterrahmen und wie hoch die Titelleiste eines Fensters ist oder möchtest du absolute Bildschirmkoordinaten in relative Fensterkoordinaten umrechnen?<br />
Zum ersten Fall weiss ich nix, aber GetSystemMetrics hört sich schon ganz gut an. Zum zweiten Fall gibt es die Win32 Funktionen ScreenToClient und ClientToScreen sowie die Member ScreenToClient und ClientToScreen der TControl Klasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691625</guid><dc:creator><![CDATA[_DocShoe_]]></dc:creator><pubDate>Mon, 06 Apr 2009 09:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Mon, 06 Apr 2009 11:03:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Möchtest du herausfinden, wie breit die Fensterrahmen und wie hoch die Titelleiste eines Fensters ist oder möchtest du absolute Bildschirmkoordinaten in relative Fensterkoordinaten umrechnen?</p>
</blockquote>
<p>Das Zweite. Aber um die relativen Fensterkoordinaten auszurechnen braucht man eben die Höhe / Breite vom Fensterrahmen (es sei denn, man kennt die ScreenToClient()-Methode).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691695</guid><dc:creator><![CDATA[Mr Train]]></dc:creator><pubDate>Mon, 06 Apr 2009 11:03:00 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Mon, 06 Apr 2009 14:57:03 GMT]]></title><description><![CDATA[<p>Kommt drauf an, was du haben möchtest. Die Funktionen ScreenToClient und ClientToScreen konvertieren Bildschirmkoordinaten oder Client Koordinaten ineinander, wenn du allerdings die NC Koordinaten eines Fensters haben möchtest, weil du die Positionen des Rahmens oder des Fenstertitels haben willst musst du dir diese Informationen selbst beschaffen.<br />
Was hast du denn genau vor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691862</guid><dc:creator><![CDATA[_DocShoe_]]></dc:creator><pubDate>Mon, 06 Apr 2009 14:57:03 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Mon, 06 Apr 2009 17:45:51 GMT]]></title><description><![CDATA[<blockquote>
<p>Was hast du denn genau vor?</p>
</blockquote>
<p>Ich schreibe gerade einen Editor für ein eigenes Grafikformat. Das kann man sich wie Paint vorstellen (nur in 3D). Man kann Punkte also mit der Maus platzieren. Dazu brauche ich natürlich die Mauskoordinaten relativ zur Zeichenfläche, kenne aber nur die Koordinaten relativ zur linken oberen Ecke im Fenster.</p>
<p>Das Problem ist eigentlich schon mit GetSystemMetrics() gelöst. Was meinst du mit &quot;NC Koordinaten&quot;?</p>
<p>Mr Train</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691938</guid><dc:creator><![CDATA[Mr Train]]></dc:creator><pubDate>Mon, 06 Apr 2009 17:45:51 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Tue, 07 Apr 2009 12:50:55 GMT]]></title><description><![CDATA[<p>Mit NC Koordinaten meinte ich Koordinaten der non-client area eines Fensters. Das sind zB der Fensterrahmen oder die Titelleiste des Fensters. Normalerweise benutzt mann nur den &quot;Netto&quot; Bereich eines Fensters, da sich das Betriebssystem um den Rahmen und die Titelleiste kümmert. Manchmal möchte man aber selbst dort zeichnen und dafür braucht man dann die Koordinaten der non client area.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692302</guid><dc:creator><![CDATA[_DocShoe_]]></dc:creator><pubDate>Tue, 07 Apr 2009 12:50:55 GMT</pubDate></item><item><title><![CDATA[Reply to Mauskoordinaten -&amp;gt; Fensterkoordinaten on Wed, 08 Apr 2009 10:04:20 GMT]]></title><description><![CDATA[<p>Mr Train schrieb:</p>
<blockquote>
<blockquote>
<p>Was hast du denn genau vor?</p>
</blockquote>
<p>Ich schreibe gerade einen Editor für ein eigenes Grafikformat. Das kann man sich wie Paint vorstellen (nur in 3D). Man kann Punkte also mit der Maus platzieren. Dazu brauche ich natürlich die Mauskoordinaten relativ zur Zeichenfläche, kenne aber nur die Koordinaten relativ zur linken oberen Ecke im Fenster.</p>
</blockquote>
<p>Das hört sich danach an, als ob du dir dein Leben schwerer machst, als es eigentlich notwendig ist.<br />
Wenn deine Zeichenfläche irgendein Control ist dann kannst du dessen ScreenToClient und ClientToScreen Methoden benutzen, um die Mauskoordinaten umzurechnen.<br />
Wenn deine Zeichenfläche nur logisch existiert, dann nimmst du halt ScreenToClient und ClientToScreen des Parent und rechnest die Offsets rein.<br />
Am besten ist wohl, wenn du mal postest, was du gemacht hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692738</guid><dc:creator><![CDATA[_DocShoe_]]></dc:creator><pubDate>Wed, 08 Apr 2009 10:04:20 GMT</pubDate></item></channel></rss>