<?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[MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen]]></title><description><![CDATA[<p>hallo,</p>
<p>wenn ich bei nem MFC-Dlg-Fenster mir die Title-Bar auf false setze, kann ich mein Fenster nicht mehr verschieben. Ich möchte aber, wenn ich mit der linken Maustaste auf das Fenster klick das Fenster verschieben wollen.</p>
<p>Habt ihr ne Lösung parat? Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159924/mfc-gt-titlebar-false-setzen-aber-dlg-fenster-dennoch-verschieben-wollen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 15:10:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159924.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Sep 2006 08:49:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 20 Sep 2006 08:49:54 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>wenn ich bei nem MFC-Dlg-Fenster mir die Title-Bar auf false setze, kann ich mein Fenster nicht mehr verschieben. Ich möchte aber, wenn ich mit der linken Maustaste auf das Fenster klick das Fenster verschieben wollen.</p>
<p>Habt ihr ne Lösung parat? Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140899</guid><dc:creator><![CDATA[ArgV04]]></dc:creator><pubDate>Wed, 20 Sep 2006 08:49:54 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 20 Sep 2006 09:35:05 GMT]]></title><description><![CDATA[<p>Du könntest die OnNcHitTest() Methode überschreiben und anstelle von CTCLIENT (Innenbereich) HTCAPTION zurückgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140942</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 20 Sep 2006 09:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 20 Sep 2006 12:06:05 GMT]]></title><description><![CDATA[<p>Oder den Mausklick abfangen und halt &quot;selber&quot; das Fenster verschieben mit <strong>MoveWindo</strong>w</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141080</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Wed, 20 Sep 2006 12:06:05 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 20 Sep 2006 12:14:59 GMT]]></title><description><![CDATA[<p>Nimm' dir ein Beispiel an Visula Basic!:</p>
<p><a href="http://Vb-fun.de" rel="nofollow">Vb-fun.de</a> schrieb:</p>
<blockquote>
<p>Wenn sich der Mauscursor auf der Titelleiste einer Form befindet, kann mit gedrückter linken Maustaste normalerweise eine Form auf dem Desktop verschoben werden. Bei einer Form ohne Titelleiste ist das natürlich nicht möglich. Wie dies mit nur wenigen Codezeilen doch realisierbar ist, zeigt dieses Beispiel.<br />
<strong>Tipp</strong><br />
Möchten Sie nicht die gesamte Form sondern nur ein Steuerelement zum Verschieben nutzen, fügen Sie die Codezeilen der Form_MouseDown-Prozedur einfach unverändert in die MouseDown-Prozedur des entsprechenden Steuerelements ein.</p>
<pre><code>REM Code im Codebereich des Moduls
Option Explicit

Public Const HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &amp;HA1

'16 bit
Declare Function SendMessage Lib &quot;user&quot; (ByVal hwnd As Integer, _
        ByVal wMsg As Integer, ByVal wParam As Integer, _
        lParam As Any) As Long

Declare Function ReleaseCapture Lib &quot;user32&quot; () As Long

'32 bit
Declare Function SendMessage Lib &quot;user32&quot; Alias &quot;SendMessageA&quot; _
        (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam _
        As Long, lParam As Any) As Long

Declare Function ReleaseCapture Lib &quot;user32&quot; () As Long

REM Code im Codebereich der Form
   
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
        X As Single, Y As Single)

  If Button = 1 Then
    ReleaseCapture
    SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0
  End If
End Sub
</code></pre>
</blockquote>
<p><em>Quelle:</em> <a href="http://www.vb-fun.de/vb/tipps/tip0011.shtml" rel="nofollow">Form ohne Titelleiste verschieben</a>.</p>
<p>Mit freundlichen Grüßen<br />
Rhombicosidodecahedron</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141092</guid><dc:creator><![CDATA[Rhombicosidodecahedron]]></dc:creator><pubDate>Wed, 20 Sep 2006 12:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 20 Sep 2006 13:13:05 GMT]]></title><description><![CDATA[<p>Danke ich werd mir eure Ideen mal zu Gemüte führen... <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/1141149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141149</guid><dc:creator><![CDATA[ArgV04]]></dc:creator><pubDate>Wed, 20 Sep 2006 13:13:05 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 20 Sep 2006 14:59:28 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>hätte da mal noch eine kleine Frage. Habe ein dialogfenster mit verschiedenen controls. zum beispiel buttons, labels activeXcontrols editor etc. wenn ich jetzt mit der linken maustauste in den dialog klick und ich treff ein steuerelement, würde da das applikationsfenster mitbekommen was für steuerlement durch den mausklick gedrückt wurde?</p>
<p>quasi die reihenfolge wenn das klickevent erfolgt. da zum beispiel wenn ich das WM_LMouseButtonDown-ereignis der Applikation überschreibe sie selbst nur die klicks mitbekommt die nicht auf anderen steuerelementen erfolgt sind. die priorität scheint demzufolge erstmal das entsprechende steuerelement zu haben...aber kann die applikation ansich mitbekommen was angeklickt bzw. wo der mauszeiger gelandet wurde...quasi das ereignis der klicks halt irgendwie hochbubbln...da hat das Window nen container für die alle enthaltenen steuerelemente darstellt.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141250</guid><dc:creator><![CDATA[ArgV04]]></dc:creator><pubDate>Wed, 20 Sep 2006 14:59:28 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Tue, 26 Sep 2006 12:01:37 GMT]]></title><description><![CDATA[<p>ArgV04 schrieb:</p>
<blockquote>
<p>wenn ich jetzt mit der linken maustauste in den dialog klick und ich treff ein steuerelement, würde da das applikationsfenster mitbekommen was für steuerlement durch den mausklick gedrückt wurde?</p>
</blockquote>
<p>Nein! Außer du schreibt in dem MessageProg von jedem Steuerelement, dass wenn die Nachricht XXX ist, dass jene Nachricht an das Hauptfenster weitergeschickt werden soll.</p>
<p><strong>Vielidee</strong>: (=<strong>Viel</strong>leicht<strong>idee</strong> = kann klappen muss aber nicht!)<br />
Es müsste eine Funktion geben (ein Message Prog), der die Nachrichten von den Steuerelement&quot;kindern&quot; eines Containers aufnimmt und weiterleitet. Dann könnte man den so einstellen, dass er die jeweiligen Nachrichten abfägt, auswertet und an das Hauptfenster weiterleitet.</p>
<p>Wenn die Vielidee schlecht ist, mach' es wie ich es ganz oben beschreiben haben.</p>
<p>Mit freundlichen Grüßen<br />
Rhombicosidodecahedron</p>
<p>P.S.: Es gibt in Visual Basic 6.0 genau diese Eigenschaften (vielleicht aut in <strong>.NET</strong>) Sie leitet alle Kinderereignisse(zumindest die mit den Mausnachrichten) auf das Dialogfeld!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1144679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1144679</guid><dc:creator><![CDATA[Rhombicosidodecahedron]]></dc:creator><pubDate>Tue, 26 Sep 2006 12:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 27 Sep 2006 11:22:38 GMT]]></title><description><![CDATA[<p>Um eine Nachricht abzufangen, bevor es von irgendjemand weiterverarbeitet wir, kannst du PreTranslateMessage benutzen.</p>
<p>Um bei gedrückter linker maustaste deinen Dialog zu verschieben versuch das mal:</p>
<pre><code class="language-cpp">void CxxxDlg::OnMouseMove(UINT nFlags, CPoint point) 
{
	CDialog::OnMouseMove(nFlags, point);
	SendMessage(WM_SYSCOMMAND, SC_MOVE | HTCLIENT, 0L); 	
}
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145334</guid><dc:creator><![CDATA[CTecS]]></dc:creator><pubDate>Wed, 27 Sep 2006 11:22:38 GMT</pubDate></item><item><title><![CDATA[Reply to MFC --&amp;gt; TitleBar = FALSE setzen aber Dlg-Fenster dennoch verschieben wollen on Wed, 27 Sep 2006 17:30:54 GMT]]></title><description><![CDATA[<p>ArgV04 schrieb:</p>
<blockquote>
<p>hätte da mal noch eine kleine Frage. Habe ein dialogfenster mit verschiedenen controls. zum beispiel buttons, labels activeXcontrols editor etc. wenn ich jetzt mit der linken maustauste in den dialog klick und ich treff ein steuerelement, würde da das applikationsfenster mitbekommen was für steuerlement durch den mausklick gedrückt wurde?</p>
<p>quasi die reihenfolge wenn das klickevent erfolgt. da zum beispiel wenn ich das WM_LMouseButtonDown-ereignis der Applikation überschreibe sie selbst nur die klicks mitbekommt die nicht auf anderen steuerelementen erfolgt sind. die priorität scheint demzufolge erstmal das entsprechende steuerelement zu haben...aber kann die applikation ansich mitbekommen was angeklickt bzw. wo der mauszeiger gelandet wurde...quasi das ereignis der klicks halt irgendwie hochbubbln...da hat das Window nen container für die alle enthaltenen steuerelemente darstellt.</p>
</blockquote>
<p>Nein! Sofern ein Control nicht transparent ist (WM_NCHITTEST Handler des Controls returniert HTTRANSPARENT) bekommt ein Parent davon nichts mit.<br />
PreTranslateMessage dafür zu verbiegen kann übeelste Folgen habe, denn viele Controls setzen einen Capture beim Mausklich und ohne den kommen die ganz schon durcheinander.</p>
<p>An dieser Stelle wäre eher ein zentraler Maushook angesagt.<br />
Aber wie gesagt zum verschieben des Controls genügt das was CStoll bereits schrieb.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1145590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1145590</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 27 Sep 2006 17:30:54 GMT</pubDate></item></channel></rss>