<?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[Mausposition]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab ein Problem bei folgendem code:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static char szAppName[] = &quot;Name&quot; ;
     HWND        hwnd ;
     MSG         msg ;
     WNDCLASSEX  wndclass ;

     wndclass.cbSize        = sizeof (wndclass) ;
     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;
     wndclass.hIconSm       = LoadIcon (NULL, IDI_APPLICATION) ;

     RegisterClassEx (&amp;wndclass) ;

     hwnd = CreateWindow (szAppName, &quot;WinAPI&quot;, WS_OVERLAPPEDWINDOW,
			  CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
			  NULL, NULL, hInstance, NULL) ;	

     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;

     while (GetMessage (&amp;msg, NULL, 0, 0))
          {
          TranslateMessage (&amp;msg) ;
          DispatchMessage (&amp;msg) ;
          }
     return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
     char xkoord[10];
     char ykoord[10];
     switch (iMsg)
          {
           case WM_CREATE:
                return 0;

           case WM_PAINT:
                return 0;

           case WM_KEYDOWN :
	            switch(wParam)
		        {
		           case VK_ESCAPE:
			       SendMessage(hwnd,WM_DESTROY,0,0);
			       break;
		        }
                return 0 ;

          case WM_MOUSEMOVE:
               switch (wParam)
               {
                  case MK_LBUTTON:
                  itoa( LOWORD(lParam), xkoord, 10 );
                  itoa( HIWORD(lParam), ykoord, 10 );
                  MessageBox(0,xkoord,&quot;X&quot;,0);
                  MessageBox(0,ykoord,&quot;Y&quot;,0);
                  break;

               }
               break;

          case WM_DESTROY :
               PostQuitMessage (0) ;
               return 0 ;
          }

     return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
</code></pre>
<p>Das Programm soll bei einem Mausklick die Position in zwei MessageBoxen ausgeben!?</p>
<p>Ich benutzte WinXP und den Dev-CPP</p>
<p>Danke schonmal im Voraus. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/126851/mausposition</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 02:21:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/126851.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Nov 2005 10:19:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 10:19:12 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab ein Problem bei folgendem code:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static char szAppName[] = &quot;Name&quot; ;
     HWND        hwnd ;
     MSG         msg ;
     WNDCLASSEX  wndclass ;

     wndclass.cbSize        = sizeof (wndclass) ;
     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;
     wndclass.hIconSm       = LoadIcon (NULL, IDI_APPLICATION) ;

     RegisterClassEx (&amp;wndclass) ;

     hwnd = CreateWindow (szAppName, &quot;WinAPI&quot;, WS_OVERLAPPEDWINDOW,
			  CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
			  NULL, NULL, hInstance, NULL) ;	

     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;

     while (GetMessage (&amp;msg, NULL, 0, 0))
          {
          TranslateMessage (&amp;msg) ;
          DispatchMessage (&amp;msg) ;
          }
     return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
     char xkoord[10];
     char ykoord[10];
     switch (iMsg)
          {
           case WM_CREATE:
                return 0;

           case WM_PAINT:
                return 0;

           case WM_KEYDOWN :
	            switch(wParam)
		        {
		           case VK_ESCAPE:
			       SendMessage(hwnd,WM_DESTROY,0,0);
			       break;
		        }
                return 0 ;

          case WM_MOUSEMOVE:
               switch (wParam)
               {
                  case MK_LBUTTON:
                  itoa( LOWORD(lParam), xkoord, 10 );
                  itoa( HIWORD(lParam), ykoord, 10 );
                  MessageBox(0,xkoord,&quot;X&quot;,0);
                  MessageBox(0,ykoord,&quot;Y&quot;,0);
                  break;

               }
               break;

          case WM_DESTROY :
               PostQuitMessage (0) ;
               return 0 ;
          }

     return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
</code></pre>
<p>Das Programm soll bei einem Mausklick die Position in zwei MessageBoxen ausgeben!?</p>
<p>Ich benutzte WinXP und den Dev-CPP</p>
<p>Danke schonmal im Voraus. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/921213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921213</guid><dc:creator><![CDATA[xehon]]></dc:creator><pubDate>Sat, 19 Nov 2005 10:19:12 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 10:30:02 GMT]]></title><description><![CDATA[<p>Kann es sein, daß du die falsche Message abfangen willst? <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/mouseinput/mouseinputreference/mouseinputmessages/wm_mousemove.asp" rel="nofollow">WM_MOUSEMOVE</a> reagiert auf Mausbewegungen, zum Abfangen der Tastendrücke benötigst du WM_*BUTONNDOWN (*=L,M,R oder X je nach überprüfter Taste).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921217</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 19 Nov 2005 10:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 10:35:03 GMT]]></title><description><![CDATA[<p>erm.... ja kann sein. Aber ich frag ja ab, ob gleichzeitig die Linke Maustaste gedrückt wird durch</p>
<pre><code class="language-cpp">switch (wParam)
               {
                  case MK_LBUTTON:
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/921219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921219</guid><dc:creator><![CDATA[xehon]]></dc:creator><pubDate>Sat, 19 Nov 2005 10:35:03 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 10:43:13 GMT]]></title><description><![CDATA[<p>der wParam enthält eine Bitkombination aus mehreren Werten - womöglich ist noch eine andere virtuelle Taste gedrückt (oder eine unbelegte Position wurde mit 1 vorbesetzt) - ändere das am besten in</p>
<pre><code class="language-cpp">if(wparam&amp;MK_LBUTTON)
{
  ...
}
</code></pre>
<p>(du kannst ja mal einen Breakpoint vor das Case setzen und nachsehen, was dort wirklich steht)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921225</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 19 Nov 2005 10:43:13 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 12:15:25 GMT]]></title><description><![CDATA[<pre><code>if(wparam&amp;MK_LBUTTON)
{
  ...
}
</code></pre>
<p>geht bei mir nicht....</p>
<p>Gibt es noch eine andere möglichkeit? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/921312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921312</guid><dc:creator><![CDATA[xehon]]></dc:creator><pubDate>Sat, 19 Nov 2005 12:15:25 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 12:16:35 GMT]]></title><description><![CDATA[<p>Was genau heißt &quot;geht nicht&quot;? (wenn der Compiler über einen unbekannten Bezeichner meckert, korrigier' mal die Großschreibung ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921313</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 19 Nov 2005 12:16:35 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 12:18:56 GMT]]></title><description><![CDATA[<p>Das wär schon korrekt so. Kanns sein, dass irgendjemand die Maus gecaptured (uhje, denglisch) hat?</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921316</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sat, 19 Nov 2005 12:18:56 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 12:48:59 GMT]]></title><description><![CDATA[<p>okay, jetzt lässt sich das programm wenigstens kompiliren.</p>
<p>Aber wenn ich das prog öffne, schliesst es gleich wieder....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921347</guid><dc:creator><![CDATA[xehon]]></dc:creator><pubDate>Sat, 19 Nov 2005 12:48:59 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 13:23:27 GMT]]></title><description><![CDATA[<p>Ich würde dir empfehlen, am Anfang der WndProc einen BreakPoint zu setzen, um die eingehenden Nachrichten zu überprüfen.</p>
<p>(btw, ich hoffe, du hast das &quot;break;&quot; hinter dem &quot;case WM_MOUSEMOVE:&quot; nicht unterschlagen)</p>
<p>PS: Je länger ich darüber nachdenke, desto ungeeigneter erscheinen mir Message-Boxen für die Ausgabe - schreib die Werte lieber in ein vorhandenes Dialog-Element.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921377</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 19 Nov 2005 13:23:27 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 13:30:14 GMT]]></title><description><![CDATA[<p>Da reicht auch ein kurzes Nachdenken, dass eine MessageBox irgendwie ganz ungeschickt ist, da dieses ja einen Dialog bringt und somit nur der erste Wert angezeigt wird... im schlimmsten Fall kommen tausende MessageBoxen...<br />
Wie CStoll gesagt hat: Zeige den Wert am besten in einem Element Deines Fensters an (oder schreibe Ihn in eine Logdatei, wenn es dich so brennend interessiert...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921384</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sat, 19 Nov 2005 13:30:14 GMT</pubDate></item><item><title><![CDATA[Reply to Mausposition on Sat, 19 Nov 2005 13:52:46 GMT]]></title><description><![CDATA[<p>okay! werd ich ma probieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921402</guid><dc:creator><![CDATA[xehon]]></dc:creator><pubDate>Sat, 19 Nov 2005 13:52:46 GMT</pubDate></item></channel></rss>