<?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[Hintergrundbild und transparenz von Steuerelementen]]></title><description><![CDATA[<p>hallo zusammen.</p>
<p>ich zeichne in meiner OnPaint Funktion ein Hintergrundbild:</p>
<pre><code class="language-cpp">void MyClass::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // Gerätekontext für Zeichnen

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Symbol in Client-Rechteck zentrieren
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&amp;rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Symbol zeichnen
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CPaintDC pDC(this);
		CBitmap bmp;
		bmp.LoadBitmap(IDB_BACKPIC);
		CDC dcMem;
		dcMem.CreateCompatibleDC(&amp;pDC);
		dcMem.SelectObject (&amp;bmp);
		BITMAP bmpInfo;
		bmp.GetBitmap(&amp;bmpInfo);	
					pDC.BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&amp;dcMem,0,0,SRCCOPY);

		CDialog::OnPaint();
	}
}
</code></pre>
<p>in dem DialogEditor(Ressourceneditor) habe ich die Option bei Eigenschaften-&gt;Formate &quot;Untergeordnete ausschneiden&quot; aktiviert, sodass meine Steuerelemente alle in den Vordergrund rücken.</p>
<p>Mein Problem hierbei ist jedoch, dass z.B. ein Static mit grauen Hintergrund in den Vordergrund gerückt wird, obwohl das Steuerelement als Transparent gesetzt wrude. Also möchte ich quasi erreichen, dass wirklich nur der Text des Elements angezeigt wird.</p>
<p>Habe außerdem auch schon in OnCtlColor versucht die Transparenz zu erwzingen, jedoch ohne erfolg:</p>
<pre><code class="language-cpp">pDC-&gt;SetBkMode(TRANSPARENT);
</code></pre>
<p>Hoffe mir kann jemand helfen.</p>
<p>MFG phiberK</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193018/hintergrundbild-und-transparenz-von-steuerelementen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 03:01:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193018.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Sep 2007 07:07:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hintergrundbild und transparenz von Steuerelementen on Fri, 21 Sep 2007 07:08:26 GMT]]></title><description><![CDATA[<p>hallo zusammen.</p>
<p>ich zeichne in meiner OnPaint Funktion ein Hintergrundbild:</p>
<pre><code class="language-cpp">void MyClass::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // Gerätekontext für Zeichnen

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Symbol in Client-Rechteck zentrieren
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&amp;rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Symbol zeichnen
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CPaintDC pDC(this);
		CBitmap bmp;
		bmp.LoadBitmap(IDB_BACKPIC);
		CDC dcMem;
		dcMem.CreateCompatibleDC(&amp;pDC);
		dcMem.SelectObject (&amp;bmp);
		BITMAP bmpInfo;
		bmp.GetBitmap(&amp;bmpInfo);	
					pDC.BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&amp;dcMem,0,0,SRCCOPY);

		CDialog::OnPaint();
	}
}
</code></pre>
<p>in dem DialogEditor(Ressourceneditor) habe ich die Option bei Eigenschaften-&gt;Formate &quot;Untergeordnete ausschneiden&quot; aktiviert, sodass meine Steuerelemente alle in den Vordergrund rücken.</p>
<p>Mein Problem hierbei ist jedoch, dass z.B. ein Static mit grauen Hintergrund in den Vordergrund gerückt wird, obwohl das Steuerelement als Transparent gesetzt wrude. Also möchte ich quasi erreichen, dass wirklich nur der Text des Elements angezeigt wird.</p>
<p>Habe außerdem auch schon in OnCtlColor versucht die Transparenz zu erwzingen, jedoch ohne erfolg:</p>
<pre><code class="language-cpp">pDC-&gt;SetBkMode(TRANSPARENT);
</code></pre>
<p>Hoffe mir kann jemand helfen.</p>
<p>MFG phiberK</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1369862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1369862</guid><dc:creator><![CDATA[PhiberK]]></dc:creator><pubDate>Fri, 21 Sep 2007 07:08:26 GMT</pubDate></item><item><title><![CDATA[Reply to Hintergrundbild und transparenz von Steuerelementen on Mon, 01 Oct 2007 12:03:50 GMT]]></title><description><![CDATA[<p>hm habe bisher immer noch keine Lösung gefunden.. hoffe es kommt noch jemand der eine Idee hat.</p>
<p>gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1375911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1375911</guid><dc:creator><![CDATA[PhiberK]]></dc:creator><pubDate>Mon, 01 Oct 2007 12:03:50 GMT</pubDate></item></channel></rss>