<?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[Button in CaptionBar]]></title><description><![CDATA[<p>Ich versuche ein weiteres Icon in die CaptionBar einzubauen. Dafür frage ich verschiede Messages ab und ändere je nach Message das aussehen des BorderIcons (Win XP).<br />
Beispiel:</p>
<pre><code>void __fastcall TForm1::WMNCLButtonDown(TMessage &amp;Msg)  
{
  TForm::Dispatch(&amp;Msg);
  if (Msg.WParam == HTCAPTION)
  {
  if(Msg.LParamLo&gt;Form1-&gt;Left+120&amp;&amp;Msg.LParamLo&lt;Form1-&gt;Left+141)
  {
  TCanvas * FCanvas = new TCanvas();
  if (FCanvas)
  {
  MyFormState=true;
  FCanvas-&gt;Handle = GetWindowDC(Handle); //Fensterhandle
  FCanvas-&gt;Draw(120,5,Image5-&gt;Picture-&gt;Graphic); //Bild für ein heruntergedrücktes BorderIcon
  delete FCanvas;
  }
  }
  }
}
</code></pre>
<p>Wenn ich nun aber auf das Icon drücke ändert sich bei einem minimierten Fenster das Icon nicht. Bei einem maximierten Fenster jedoch ändert es sich. Ich denke es liegt daran, dass das minimiertes Fenster denkt, ich will das Fenster verschieben. Wie kann ich das Problem lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/78445/button-in-captionbar</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 23:52:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/78445.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Jul 2004 14:03:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Button in CaptionBar on Thu, 01 Jul 2004 14:04:04 GMT]]></title><description><![CDATA[<p>Ich versuche ein weiteres Icon in die CaptionBar einzubauen. Dafür frage ich verschiede Messages ab und ändere je nach Message das aussehen des BorderIcons (Win XP).<br />
Beispiel:</p>
<pre><code>void __fastcall TForm1::WMNCLButtonDown(TMessage &amp;Msg)  
{
  TForm::Dispatch(&amp;Msg);
  if (Msg.WParam == HTCAPTION)
  {
  if(Msg.LParamLo&gt;Form1-&gt;Left+120&amp;&amp;Msg.LParamLo&lt;Form1-&gt;Left+141)
  {
  TCanvas * FCanvas = new TCanvas();
  if (FCanvas)
  {
  MyFormState=true;
  FCanvas-&gt;Handle = GetWindowDC(Handle); //Fensterhandle
  FCanvas-&gt;Draw(120,5,Image5-&gt;Picture-&gt;Graphic); //Bild für ein heruntergedrücktes BorderIcon
  delete FCanvas;
  }
  }
  }
}
</code></pre>
<p>Wenn ich nun aber auf das Icon drücke ändert sich bei einem minimierten Fenster das Icon nicht. Bei einem maximierten Fenster jedoch ändert es sich. Ich denke es liegt daran, dass das minimiertes Fenster denkt, ich will das Fenster verschieben. Wie kann ich das Problem lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/550980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/550980</guid><dc:creator><![CDATA[Diabolo]]></dc:creator><pubDate>Thu, 01 Jul 2004 14:04:04 GMT</pubDate></item><item><title><![CDATA[Reply to Button in CaptionBar on Thu, 01 Jul 2004 14:44:35 GMT]]></title><description><![CDATA[<p>Seit wann haben minimierte Fenster eine CaptionBar, oder wären sonst irgendwie klickbar?<br />
Minimiert = kein Fenster = nix zum Anklicken</p>
<p>Ansonsten: Die FAQ-Beiträge zum Zeichnen und Klicken auf der CaptionBar kennst du?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/551011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/551011</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Thu, 01 Jul 2004 14:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to Button in CaptionBar on Thu, 01 Jul 2004 15:22:47 GMT]]></title><description><![CDATA[<p>ahso: Ich meine mit minimierte Fenster, WindowState=wsNormal. Also nicht maximiert. Das Fenster nutzt nicht den vollen Bildschirm Platz aus.<br />
Ja die Faq Beiträge kenne ich. Ich glaub die hab ich mir an die 30 mal durchgelesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/551038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/551038</guid><dc:creator><![CDATA[Diabolo]]></dc:creator><pubDate>Thu, 01 Jul 2004 15:22:47 GMT</pubDate></item><item><title><![CDATA[Reply to Button in CaptionBar on Thu, 01 Jul 2004 16:20:05 GMT]]></title><description><![CDATA[<p>Das war offenbar noch nicht genug. <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>Die Koordinaten in <em>Msg.LParamLo</em> beziehen sich auf den Bildschirm, nicht auf die Form. Nicht ohne Grund hat Sunday in seinem FAQ-Beispiel eine extra Funktion, die &quot;prüft, ob sich die maus im rechteck der URL befindet&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/551094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/551094</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Thu, 01 Jul 2004 16:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to Button in CaptionBar on Sun, 04 Jul 2004 15:01:20 GMT]]></title><description><![CDATA[<p>Obwohl das sehr logisch klingt, ist das offenbar nicht das Problem. Das Problem ist, dass das Programm auf ein 'SC_MOVE+HTCAPTION' wartet. Wenn ich alle WM_SYSCOMMANDs abfange:</p>
<pre><code>MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, WMSysCommmand)
</code></pre>
<p>dann lässt sich der Button drücken. Wenn ich das allerdings mache, dann reagiert das Fenster gar nicht mehr auf irgende eine Nachricht auch wenn ich</p>
<pre><code>Result=true
</code></pre>
<p>setze. Wie kann ich das beheben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/552957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/552957</guid><dc:creator><![CDATA[Diabolo]]></dc:creator><pubDate>Sun, 04 Jul 2004 15:01:20 GMT</pubDate></item><item><title><![CDATA[Reply to Button in CaptionBar on Sun, 04 Jul 2004 16:08:34 GMT]]></title><description><![CDATA[<p>Ganz unlogisch ist, dass du dir offenbar nicht einfach mal die Werte von LParamLo zur Laufzeit angesehen hast. Sobald du die Koordinaten vom Screen auf die Form umrechnest wird anstandslos in deine Zeichen-Routine verzweigt.</p>
<p>Der andere Fehler ist, dass du <em>Dispatch</em> gleich zu Beginn aufrufst, deshalb erfolgt die Auswertung der Message erst beim MouseUp. Beim URL-Klick aus der FAQ ist das weniger ein Problem, da man bei Links ja keine Reaktion während des Klickens erwarten, im Gegensatz zu (simulierten) Buttons.<br />
Also erst Auswerten und ggf. reagieren, dann Dispatch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/553033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/553033</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 04 Jul 2004 16:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to Button in CaptionBar on Sun, 04 Jul 2004 17:42:23 GMT]]></title><description><![CDATA[<p>Danke Jansen!<br />
Hab alles geändert und jetzt klappt alles reibungslos</p>
]]></description><link>https://www.c-plusplus.net/forum/post/553103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/553103</guid><dc:creator><![CDATA[Diabolo]]></dc:creator><pubDate>Sun, 04 Jul 2004 17:42:23 GMT</pubDate></item></channel></rss>