<?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[Moving Grip]]></title><description><![CDATA[<p>Hi,<br />
wie kann ich einen Bereich definieren, mit dem ich das Fenster verschieben kann?</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/173532/moving-grip</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 22:42:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173532.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Feb 2007 20:20:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Moving Grip on Fri, 16 Feb 2007 20:20:58 GMT]]></title><description><![CDATA[<p>Hi,<br />
wie kann ich einen Bereich definieren, mit dem ich das Fenster verschieben kann?</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1229790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1229790</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Fri, 16 Feb 2007 20:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Fri, 16 Feb 2007 20:44:25 GMT]]></title><description><![CDATA[<p>ich weis leider nicht ob das funktioniert aber ein versuch wäre es wert <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="😉"
    /> WM_LBUTTONDOWN abfangen wenn sich der cursor in deinem defininierten bereich befindet(point in rect) dann movewindow() mit der differenz zwischen gespeichert und aktueller pos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1229803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1229803</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Fri, 16 Feb 2007 20:44:25 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Fri, 16 Feb 2007 20:46:10 GMT]]></title><description><![CDATA[<p>ich habs befürchtet, dass ich das so machen muss...naja, erstmal danke</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1229805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1229805</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Fri, 16 Feb 2007 20:46:10 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Sat, 17 Feb 2007 01:27:26 GMT]]></title><description><![CDATA[<p>Einfacher:</p>
<pre><code>switch(uiMessage)
{
case WM_NCHITTEST:
    // Wenn Maus im Grip-Bereich
    return HTCAPTION;
    // Ansonsten Weiterleitung an DefWindowProc
    break;

...
}
</code></pre>
<p>Weitere mögliche Rückgabewerte von WM_NCHITTEST siehe<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/mouseinput/mouseinputreference/mouseinputmessages/wm_nchittest.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/mouseinput/mouseinputreference/mouseinputmessages/wm_nchittest.asp</a></p>
<p>Walter Z</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1229940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1229940</guid><dc:creator><![CDATA[Walter Z]]></dc:creator><pubDate>Sat, 17 Feb 2007 01:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Sat, 17 Feb 2007 10:16:51 GMT]]></title><description><![CDATA[<p>ich habe das jetzt so probiert:</p>
<pre><code class="language-cpp">case WM_NCHITTEST:
	x = LOWORD (lParam);
	y = HIWORD (lParam);

	if (x &gt;= 0 &amp;&amp; x &lt;= 200 &amp;&amp; y &gt;= 0 &amp;&amp; y &lt;= 100)
		return HTCAPTION;
break;
</code></pre>
<p>wenn ich jetzt aber in mein label klicke und das fenster ziehen will, klappt das nicht. auch nicht wenn ich in das main-fenster klicke und ziehe. was mache ich falsch?</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1229998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1229998</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Sat, 17 Feb 2007 10:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Sat, 17 Feb 2007 18:45:04 GMT]]></title><description><![CDATA[<p>*push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230253</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Sat, 17 Feb 2007 18:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Sat, 17 Feb 2007 21:34:25 GMT]]></title><description><![CDATA[<p>Die Koordinaten in lParam beziehen sich auf den Bildschirm.<br />
Die Prüfung x &gt;= 0 &amp;&amp; x &lt;= 200 dürfte also im wahrsten Sinn des Wortes danebenliegen.</p>
<p>Walter Z</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230337</guid><dc:creator><![CDATA[Walter Z]]></dc:creator><pubDate>Sat, 17 Feb 2007 21:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Sat, 17 Feb 2007 21:57:18 GMT]]></title><description><![CDATA[<p>Das klappt auch nicht, wenn ich mein fenster am oberen rand erstelle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230351</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Sat, 17 Feb 2007 21:57:18 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Sun, 18 Feb 2007 16:28:40 GMT]]></title><description><![CDATA[<p>*push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230693</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Sun, 18 Feb 2007 16:28:40 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Mon, 19 Feb 2007 17:05:02 GMT]]></title><description><![CDATA[<p>*push* in der hoffnung, dass jemand eine idee hat, weil das wirklich wichtig ist.</p>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1231372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1231372</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Mon, 19 Feb 2007 17:05:02 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Mon, 19 Feb 2007 20:45:32 GMT]]></title><description><![CDATA[<p>*pop*</p>
<p>Hauptfenster verschieben mit Klick im Client-Bereich :</p>
<pre><code class="language-cpp">// hWnd -&gt; Handle vom Hauptfenster

 case WM_LBUTTONDOWN : { 

  ReleaseCapture ();
  SendMessage   (hWnd,WM_SYSCOMMAND,SC_MOVE + HTCAPTION,0);

  break;
 }
</code></pre>
<p>Falls &quot;label&quot; ein Child ist und eine eigene &quot;WinProc&quot; hat :</p>
<pre><code class="language-cpp">// hWnd -&gt; Handle von &quot;label&quot;

 case WM_LBUTTONDOWN : { 

  ReleaseCapture ();
  SendMessage   (GetParent (hWnd),WM_SYSCOMMAND,SC_MOVE + HTCAPTION,0);

  break;
 }
</code></pre>
<p>Einen Bereich kannst Du Dir via lParam je nach Bedarf selbst definieren.</p>
<p>*EDIT* Schreibfehler korrigiert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1231532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1231532</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 19 Feb 2007 20:45:32 GMT</pubDate></item><item><title><![CDATA[Reply to Moving Grip on Mon, 19 Feb 2007 21:58:04 GMT]]></title><description><![CDATA[<p>es klappt immer noch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">long __stdcall LoadProc (HWND hLoad, unsigned int message, unsigned int wParam, long lParam)
{
	HDC hDC;
	PAINTSTRUCT ps;

	HANDLE hBitmap;

	int x, y = 0;

	switch (message)
	{
		case WM_CREATE:
			InitCommonControls();
			WaxEngBMPField = CreateWindow (&quot;Static&quot;, NULL, WS_CHILD | WS_VISIBLE | SS_BITMAP, 0, 0, 500, 300, hLoad, (HMENU)4, WaxEngLoadHinstance, NULL); //&lt;-- bedeckt das ganze Fenster, klappt aber auch nicht, wenn es das nicht tut
			hBitmap = LoadImage (GetModuleHandle (NULL), &quot;start_screen.bmp&quot;, IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR | LR_LOADFROMFILE);
			SendMessage (WaxEngBMPField, STM_SETIMAGE, (WPARAM) IMAGE_BITMAP, (LPARAM)(HANDLE) hBitmap);

			st =  CreateWindow (PROGRESS_CLASS, NULL, WS_CHILD | WS_VISIBLE | PBS_SMOOTH, 15, 240, 470, 20, hLoad, (HMENU) 1, WaxEngLoadHinstance, NULL);

			SetTimer (hLoad, 1, 1, NULL);

			SendMessage (st, PBM_SETRANGE, 0, MAKELPARAM (0, 500)); 
			SendMessage (st, PBM_SETSTEP, (WPARAM) 1, 0);
			SendMessage (st, PBM_SETBARCOLOR, 0, RGB (46, 50, 146));
			SendMessage (st, PBM_SETBKCOLOR, 0, RGB (128, 131, 226));
		return 0;

		case WM_PAINT:
			hDC = BeginPaint (hLoad, &amp;ps);
				SetBkMode (hDC, TRANSPARENT);
			EndPaint (hLoad, &amp;ps);
		return 0;

		case WM_TIMER:
			switch (wParam)
			{
				case 1:
					if (SendMessage (st, PBM_GETPOS, 0, 0) &gt;= 500)
						PostQuitMessage (0);
					else
						SendMessage (st, PBM_STEPIT, 0, 0);
				break;
			}
		return 0;

		case WM_SYSCOMMAND:
			switch (wParam)
			{
				case SC_SCREENSAVE:	
				case SC_MONITORPOWER:
				return 0;
			}
		return 0;
        //HIER SOLL ES GETAN WERDEN
		case WM_LBUTTONDOWN:
			ReleaseCapture (); 
			SendMessage (hLoad, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); 
		return 0;

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

	return DefWindowProc (hLoad, message, wParam, lParam);
}
</code></pre>
<p>das ist die Prozedur vom Fenster...</p>
<p>Mfg Ominion</p>
<p>EDIT:habe den Fehler gefunden. WM_SYSCOMMAND hatte ich ja überschrieben bzw. selbstdefiniert. Danke an alle, klappt jetzt endlich wie gewünscht</p>
<p>EDIT: jetzt klappt es auch mit WalterZ's Lösung, danke an euch beide, das hat mir sehr geholfen! <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="👍"
    /> <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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1231560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1231560</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Mon, 19 Feb 2007 21:58:04 GMT</pubDate></item></channel></rss>