<?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[Window arretieren (mit COM)]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>Ich bin gerade dabei eine Anwendung zu proggen in c++ unter verwendung von COM. In dieser Anwendung befindet sich ein Control welches ich über Checkboxen Konfiguriere.</p>
<p>Es sollen folgende Properties zuschaltbar sein:</p>
<p>Titelleiste anzeigen //geht WS_CAPTION<br />
Größe änderbar // geht WS_THICKFRAME<br />
Schließbar // geht WS_SYSMENU<br />
Verschiebbar // geht nicht ????</p>
<p>geht nicht heißt es läßt sich nicht arretieren, sobald ich die Titelleiste einblende und draufklicke kann ich es verschieben. Ich möchte dies aber auch Locken können so daß der User es NICHT verschieben kann.</p>
<p>Kennt von euch wer ein Property, welches genau dies bewirkt</p>
<p>Im vorraus vielen Dank</p>
<p>Don</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147988/window-arretieren-mit-com</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 14:47:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147988.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 May 2006 12:31:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Window arretieren (mit COM) on Tue, 23 May 2006 11:42:11 GMT]]></title><description><![CDATA[<p>Hallo alle zusammen,</p>
<p>Ich bin gerade dabei eine Anwendung zu proggen in c++ unter verwendung von COM. In dieser Anwendung befindet sich ein Control welches ich über Checkboxen Konfiguriere.</p>
<p>Es sollen folgende Properties zuschaltbar sein:</p>
<p>Titelleiste anzeigen //geht WS_CAPTION<br />
Größe änderbar // geht WS_THICKFRAME<br />
Schließbar // geht WS_SYSMENU<br />
Verschiebbar // geht nicht ????</p>
<p>geht nicht heißt es läßt sich nicht arretieren, sobald ich die Titelleiste einblende und draufklicke kann ich es verschieben. Ich möchte dies aber auch Locken können so daß der User es NICHT verschieben kann.</p>
<p>Kennt von euch wer ein Property, welches genau dies bewirkt</p>
<p>Im vorraus vielen Dank</p>
<p>Don</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062750</guid><dc:creator><![CDATA[DonGhandi]]></dc:creator><pubDate>Tue, 23 May 2006 11:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Mon, 22 May 2006 12:45:24 GMT]]></title><description><![CDATA[<p>Füge dem Dialogfenster noch eine OnMove() Methode (Nachricht WM_MOVE) hinzu und hole dir mit GetWindowRect die aktuelle Position.</p>
<p>Dieses Rect übergibst du dann der</p>
<pre><code class="language-cpp">CDialog::OnMoving(nSide, MeinRect);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1062763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062763</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Mon, 22 May 2006 12:45:24 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Mon, 22 May 2006 13:12:44 GMT]]></title><description><![CDATA[<p>dann kann ich das Control ja aber doch bewegen nur das es halt wieder an die alte Pos zurück geht. Ich möchte aber das bewegen völlig abstellen.</p>
<p>gibts denn da kein Property???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062779</guid><dc:creator><![CDATA[DonGhandi]]></dc:creator><pubDate>Mon, 22 May 2006 13:12:44 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Mon, 22 May 2006 13:31:05 GMT]]></title><description><![CDATA[<p>WM_SYSCOMMAND mit SC_MOVE abzufangen.</p>
<p>Wenn das nicht geht. WM_NCHITTEST für das Fenster abfangen. Den deafult aufrufen und wenn der HTCAPTION returniert einfach HTNOWHERE draus machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062788</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 22 May 2006 13:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Mon, 22 May 2006 13:38:55 GMT]]></title><description><![CDATA[<p>Mache folgende 3 Schritte:</p>
<p>1. gehe in die *.h Datei deiner Dialogfeldklasse und füge im Messagemap Bereich folgenden Eintrag hinzu:</p>
<pre><code class="language-cpp">// Generierte Message-Map-Funktionen
	//{{AFX_MSG(CMyDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnMoving(UINT nSide, LPRECT lpRect);  //&lt;-- Funktion hinzufügen!
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
</code></pre>
<p>2. Danach gehst du in die *.cpp uns suchst dir den &quot;BEGIN_MESSAGE_MAP&quot; und &quot;END_MESSAGE_MAP&quot; Bereich <strong>deiner Klasse</strong> und fügst dort den Eintrag ON_WM_MOVING() hinzu.</p>
<pre><code class="language-cpp">//Messagemap von CMyDlg
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
	//{{AFX_MSG_MAP(CPolymorphieTestDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_MOVING()     //&lt;-- hinzufügen
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()
</code></pre>
<p>3. Danach brauchst du nur noch folgende Funktion schreiben:</p>
<pre><code class="language-cpp">void CMyDlg::OnMoving(UINT nSide, LPRECT lpRect)
{
	GetWindowRect(lpRect);	
	CDialog::OnMoving(nSide, lpRect);
}
</code></pre>
<p>Voila, das Fenster lässt sich nicht mehr verschieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062798</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Mon, 22 May 2006 13:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Mon, 22 May 2006 14:38:04 GMT]]></title><description><![CDATA[<p>Wenn ich GetWindowRect(lpRect) in On Moving ausführe bekomme ich eine Speicherzugriffs Verletzung und das Prog schmiert ab...</p>
<p>Gruß Don</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062859</guid><dc:creator><![CDATA[DonGhandi]]></dc:creator><pubDate>Mon, 22 May 2006 14:38:04 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Mon, 22 May 2006 14:59:43 GMT]]></title><description><![CDATA[<p>Das Problem hierbei ist einfach dein Beschreibung ist für die MFC und meine Anwendung ist COM.</p>
<p>Aber trotzdem Danke für die Hilfe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1062872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1062872</guid><dc:creator><![CDATA[DonGhandi]]></dc:creator><pubDate>Mon, 22 May 2006 14:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Tue, 23 May 2006 05:56:09 GMT]]></title><description><![CDATA[<p>DonGhandi schrieb:</p>
<blockquote>
<p>Das Problem hierbei ist einfach dein Beschreibung ist für die MFC und meine Anwendung ist COM.</p>
<p>Aber trotzdem Danke für die Hilfe...</p>
</blockquote>
<p>sorry <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/1063206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063206</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Tue, 23 May 2006 05:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Tue, 23 May 2006 11:22:03 GMT]]></title><description><![CDATA[<p>Kein Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>kennt sich hier denn keiner mit COM aus????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1063429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063429</guid><dc:creator><![CDATA[DonGhandi]]></dc:creator><pubDate>Tue, 23 May 2006 11:22:03 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Tue, 23 May 2006 11:41:55 GMT]]></title><description><![CDATA[<p>Scheinbar nicht, aber ich editiers mal in den Betreff, vielleicht schaut dann einer rein. <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/1063442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063442</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Tue, 23 May 2006 11:41:55 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Tue, 23 May 2006 12:10:32 GMT]]></title><description><![CDATA[<p>estartu schrieb:</p>
<blockquote>
<p>Scheinbar nicht, aber ich editiers mal in den Betreff, vielleicht schaut dann einer rein. <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>
</blockquote>
<p>Danke <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1063455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1063455</guid><dc:creator><![CDATA[DonGhandi]]></dc:creator><pubDate>Tue, 23 May 2006 12:10:32 GMT</pubDate></item><item><title><![CDATA[Reply to Window arretieren (mit COM) on Wed, 24 May 2006 08:48:23 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ok fals es noch jemanden interessiert, ich hab das Prob gelöst. Und zwar mit der Message WM_WINDOWPOSCHANGING, die liefert im LWert einen Pointer auf die Struct WINDOWPOS. Über diesen Zeiger hab ich dann das Flag SWP_NOMOVE gesetzt.</p>
<pre><code class="language-cpp">lpwp = (LPWINDOWPOS) lParam;
lpwp-&gt;flags |= SWP_NOMOVE;
</code></pre>
<p>Und siehe da das Fenster läßt sich nicht mehr verschieben, nochmal Danke an alle die sich die Mühe gemacht haben.</p>
<p>Don</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1064020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1064020</guid><dc:creator><![CDATA[DonGhandi]]></dc:creator><pubDate>Wed, 24 May 2006 08:48:23 GMT</pubDate></item></channel></rss>