<?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[Probleme mit Bitmap im Hauptdialogfeld]]></title><description><![CDATA[<p>Ich versuche gerade bei einem Programm eine Bitmap im Hauptdialogfeld anzuzeigen, leider klappt das nicht so recht. Ich habe jetzt den ganzen code nach OnInitDialog() verlagert, OnPaint() kann ich ja später noch verwenden wenn überhaupt mal was geht. Also hier der Code:</p>
<pre><code class="language-cpp">BOOL CBitmapsDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	[.....]

	// TODO: Hier zusätzliche Initialisierung einfügen

	// Gewählte Bitmap-Datei laden
	HBITMAP hBitmap = (HBITMAP) ::LoadImage(AfxGetInstanceHandle(),
	&quot;C:\\xyz.bmp&quot;, IMAGE_BITMAP, 0, 0,
	LR_LOADFROMFILE | LR_CREATEDIBSECTION);

	// Aktuell geladenes Bitmap mit Bitmap-Objekt verbinden
	m_bmpBitmap.Attach(hBitmap);

	CBitmapsDlg *pWnd = this;
	CPaintDC dc(this);
	ShowBitmap(&amp;dc, pWnd);

	Invalidate();

	return TRUE;  // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten
}

void CBitmapsDlg::ShowBitmap(CPaintDC* pdc, CWnd* pWnd)
{
	// Bitmap anzeigen
	CBitmapsDlg *lpWnd = (CBitmapsDlg*)pWnd;				// Dialogpointer erstellen
	BITMAP bm;								// Bitmappuffer
	lpWnd-&gt;m_bmpBitmap.GetBitmap(&amp;bm);		// Bitmap an bm

	CDC dcMem;
	dcMem.CreateCompatibleDC(pdc);			// CDC zu CPaintDC
	dcMem.SelectObject(lpWnd-&gt;m_bmpBitmap);

	pdc-&gt;StretchBlt(10, 10, 200, 400, &amp;dcMem, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
}
</code></pre>
<p>was passt da denn nicht? <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="😕"
    /><br />
währe natürlich klasse wenn jemand gleich den code so anpassen würde das es hinhaut, irgendwie komm ich damit nicht so richtig zurecht <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/topic/149698/probleme-mit-bitmap-im-hauptdialogfeld</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 05:00:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149698.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jun 2006 13:35:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Bitmap im Hauptdialogfeld on Thu, 08 Jun 2006 13:35:15 GMT]]></title><description><![CDATA[<p>Ich versuche gerade bei einem Programm eine Bitmap im Hauptdialogfeld anzuzeigen, leider klappt das nicht so recht. Ich habe jetzt den ganzen code nach OnInitDialog() verlagert, OnPaint() kann ich ja später noch verwenden wenn überhaupt mal was geht. Also hier der Code:</p>
<pre><code class="language-cpp">BOOL CBitmapsDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	[.....]

	// TODO: Hier zusätzliche Initialisierung einfügen

	// Gewählte Bitmap-Datei laden
	HBITMAP hBitmap = (HBITMAP) ::LoadImage(AfxGetInstanceHandle(),
	&quot;C:\\xyz.bmp&quot;, IMAGE_BITMAP, 0, 0,
	LR_LOADFROMFILE | LR_CREATEDIBSECTION);

	// Aktuell geladenes Bitmap mit Bitmap-Objekt verbinden
	m_bmpBitmap.Attach(hBitmap);

	CBitmapsDlg *pWnd = this;
	CPaintDC dc(this);
	ShowBitmap(&amp;dc, pWnd);

	Invalidate();

	return TRUE;  // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten
}

void CBitmapsDlg::ShowBitmap(CPaintDC* pdc, CWnd* pWnd)
{
	// Bitmap anzeigen
	CBitmapsDlg *lpWnd = (CBitmapsDlg*)pWnd;				// Dialogpointer erstellen
	BITMAP bm;								// Bitmappuffer
	lpWnd-&gt;m_bmpBitmap.GetBitmap(&amp;bm);		// Bitmap an bm

	CDC dcMem;
	dcMem.CreateCompatibleDC(pdc);			// CDC zu CPaintDC
	dcMem.SelectObject(lpWnd-&gt;m_bmpBitmap);

	pdc-&gt;StretchBlt(10, 10, 200, 400, &amp;dcMem, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
}
</code></pre>
<p>was passt da denn nicht? <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="😕"
    /><br />
währe natürlich klasse wenn jemand gleich den code so anpassen würde das es hinhaut, irgendwie komm ich damit nicht so richtig zurecht <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/1073886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073886</guid><dc:creator><![CDATA[noClue]]></dc:creator><pubDate>Thu, 08 Jun 2006 13:35:15 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Bitmap im Hauptdialogfeld on Thu, 08 Jun 2006 15:21:20 GMT]]></title><description><![CDATA[<p>Compilieren lässt sich das Prog, nur angezeigt wird nichts, der Hanel auf die Bitmap ist gültig.</p>
<p>Hat vielleicht jemand ein (funktionierendes)Codebeispiel für die Anzeige einer Bitmap? Hier <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-110197-and-highlight-is-attach.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-110197-and-highlight-is-attach.html</a><br />
wird leider nur darauf eingegangen wie man sie lädt.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073972</guid><dc:creator><![CDATA[noClue]]></dc:creator><pubDate>Thu, 08 Jun 2006 15:21:20 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Bitmap im Hauptdialogfeld on Thu, 08 Jun 2006 20:12:55 GMT]]></title><description><![CDATA[<p>1. Was sollen die ganzen Pointer auf dein CWnd? Das ist schwachsinnig!<br />
2. OnEraseBackground ist die stelle an der man sowas unter anderem auch mache kann..<br />
3.</p>
<pre><code class="language-cpp">BOOL CBitmapsDlg::OnEraseBkgnd(CDC* pDC)
{
	CDialog::OnEraseBkgnd(pDC);

	if(!m_bmpBitmap.m_hObject)
		return true;

	CRect		rcClient;
	CDC			memDC;
	int			nBmpWidth;
	int			nBmpHeight;
	BITMAP		bitmap;
	CBitmap*	pOldBitmap;

	GetClientRect(&amp;rcClient);
	memDC.CreateCompatibleDC(pDC);
	pOldBitmap	= memDC.SelectObject(&amp;m_bmpBitmap);
	m_bmpBitmap.GetBitmap(&amp;bitmap);
	nBmpWidth	= bitmap.bmWidth;
	nBmpHeight	= bitmap.bmHeight;

	pDC-&gt;StretchBlt(0, 0, rcClient.Width(), rcClient.Height(), &amp;memDC, 0, 0, nBmpWidth, nBmpHeight, SRCCOPY);

	memDC.SelectObject(pOldBitmap);

	return 1;
}
</code></pre>
<ol start="4">
<li></li>
</ol>
<pre><code class="language-cpp">m_bmpBitmap.LoadImage(...);
</code></pre>
<p>im Konstruktor sollte seinen Dienst auch tuen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1074169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074169</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 08 Jun 2006 20:12:55 GMT</pubDate></item></channel></rss>