<?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[Dialogstyles: Child &amp;lt;-&amp;gt; Popup]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab da mal wieder n Problemchen, was wie folgt aussieht.<br />
Ich hab in meinen Resourcen ein Dialog-Template, mit der Style-Eigenschaft auf Child. Hier brauche ich die Eigenschaft, um ihn als Template an einen Öffnen-/Speichern-Dialog anzuhängen.<br />
Jetzt möchte ich aber die gleiche Resource wiederverwenden, diesmal jedoch mit der Styleeigenschaft auf Popup. Popup deshalb, weil in einer Basisklasse davon eine Funktion für die Transparenz-Darstellung zuständig ist und die nach bisherigen Versuchen mit Popups funktioniert, als Child jedoch nicht.<br />
Zum Umstellen des Styles verwende ich folgenden Code:</p>
<pre><code>void CToolBar::OnButtonInfo()
{
  if(m_PicInfo) return;

  m_PicInfo.Create();
  m_PicInfo.SetOwner(this);

  long lDlgStyle = GetWindowLong(m_PicInfo.m_hWnd, GWL_STYLE);
  lDlgStyle &amp;= ~WS_CHILD;// | WS_CLIPSIBLINGS | WS_VISIBLE;
  lDlgStyle |= WS_POPUP;
  ::SetWindowLong(m_PicInfo.m_hWnd, GWL_STYLE, lDlgStyle);*/

  m_PicInfo.ShowWindow(SW_SHOW);
  CMyDialog::SetWndTransparency(m_PicInfo.m_hWnd, 128);
}
</code></pre>
<p>Wenn ich den Style direkt in den Resourcen änder, funktioniert es auch ohne GetWindowLong(...)/ SetWindowLong(...). Mit der Umstellung über den Quellcode nicht.</p>
<p>Kann mir vielleicht noch jemand n Tipp geben, was ich evtl. noch ändern müsste <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>
<p>MfG<br />
Anti</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171810/dialogstyles-child-lt-gt-popup</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 22:27:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171810.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Jan 2007 16:00:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dialogstyles: Child &amp;lt;-&amp;gt; Popup on Mon, 29 Jan 2007 16:00:12 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab da mal wieder n Problemchen, was wie folgt aussieht.<br />
Ich hab in meinen Resourcen ein Dialog-Template, mit der Style-Eigenschaft auf Child. Hier brauche ich die Eigenschaft, um ihn als Template an einen Öffnen-/Speichern-Dialog anzuhängen.<br />
Jetzt möchte ich aber die gleiche Resource wiederverwenden, diesmal jedoch mit der Styleeigenschaft auf Popup. Popup deshalb, weil in einer Basisklasse davon eine Funktion für die Transparenz-Darstellung zuständig ist und die nach bisherigen Versuchen mit Popups funktioniert, als Child jedoch nicht.<br />
Zum Umstellen des Styles verwende ich folgenden Code:</p>
<pre><code>void CToolBar::OnButtonInfo()
{
  if(m_PicInfo) return;

  m_PicInfo.Create();
  m_PicInfo.SetOwner(this);

  long lDlgStyle = GetWindowLong(m_PicInfo.m_hWnd, GWL_STYLE);
  lDlgStyle &amp;= ~WS_CHILD;// | WS_CLIPSIBLINGS | WS_VISIBLE;
  lDlgStyle |= WS_POPUP;
  ::SetWindowLong(m_PicInfo.m_hWnd, GWL_STYLE, lDlgStyle);*/

  m_PicInfo.ShowWindow(SW_SHOW);
  CMyDialog::SetWndTransparency(m_PicInfo.m_hWnd, 128);
}
</code></pre>
<p>Wenn ich den Style direkt in den Resourcen änder, funktioniert es auch ohne GetWindowLong(...)/ SetWindowLong(...). Mit der Umstellung über den Quellcode nicht.</p>
<p>Kann mir vielleicht noch jemand n Tipp geben, was ich evtl. noch ändern müsste <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>
<p>MfG<br />
Anti</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219272</guid><dc:creator><![CDATA[Antivirus]]></dc:creator><pubDate>Mon, 29 Jan 2007 16:00:12 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogstyles: Child &amp;lt;-&amp;gt; Popup on Tue, 30 Jan 2007 07:26:05 GMT]]></title><description><![CDATA[<p>Der Stil WS_CHILD kann nicht nachträglich verändert werden. Es gibt Stile, die beim Erzeugen eines Fensters festgelegt werden. WS_CHILD/WS_POPUP gehört dazu!</p>
<p>Du kannst einfach einen leeren Dialog erzeugen und Deinen Dialog als Child darin platzieren.<br />
Siehe auch:<br />
<a href="http://www.codeproject.com/dialog/CRHChildDialog.asp" rel="nofollow">http://www.codeproject.com/dialog/CRHChildDialog.asp</a><br />
<a href="http://www.codeproject.com/dialog/childdlg.asp" rel="nofollow">http://www.codeproject.com/dialog/childdlg.asp</a></p>
<p>Du kannst es aber auch anders machen und die Ressource laden, das Stil Bit in Template ändern und den Dialog mit dem geänderten Stilbit erzeugen.</p>
<p>Die MFC stellt dazu auch die nette Klasse CDialogTemplate zur verfügung. Die ist zwar nicht dokumeniert aber sehr einfach zu nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219541</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 30 Jan 2007 07:26:05 GMT</pubDate></item></channel></rss>