<?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[Gelber Balken in CEditCtrl]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich möchte gerne einen gelben Balken in meinem Edit Control einbauen (wie in UltraEdit oder Notepad++)</p>
<p>Folgenden Code habe ich in WM_PAINT eingebaut</p>
<p>HDC hdc, hdcScreenBuffer;<br />
PAINTSTRUCT ps;<br />
RECT rcClient;<br />
HBITMAP hBitmap, hBmpOld;<br />
HBRUSH hBrYellow,hBrWhite;</p>
<p>//Start painting<br />
hdc = ::BeginPaint(m_cEditor,&amp;ps);</p>
<p>hdcScreenBuffer = CreateCompatibleDC( ::GetDC(hWnd) );<br />
::GetClientRect(m_cEditor,&amp;rcClient);<br />
hBitmap = CreateCompatibleBitmap(hdc,rcClient.right, rcClient.bottom = 20 );<br />
hBmpOld = (HBITMAP) SelectObject(hdcScreenBuffer,hBitmap);<br />
hBrYellow = CreateSolidBrush(RGB(0xFF, 0xFF, 0));<br />
hBrWhite = CreateSolidBrush(RGB(100, 100,100));</p>
<p>::FillRect(hdcScreenBuffer,&amp;rcClient,hBrYellow);<br />
BitBlt(hdc,0,yDest,rcClient.right ,rcClient.bottom ,hdcScreenBuffer,0,0,SRCAND);</p>
<p>// Free Memory<br />
DeleteObject(SelectObject(hdcScreenBuffer,hBmpOld));<br />
DeleteObject(hBrYellow);<br />
DeleteObject(hBrWhite);<br />
DeleteDC(hdcScreenBuffer);<br />
ReleaseDC(hdc);</p>
<p>//Stop painting<br />
::EndPaint(m_wndEditor,&amp;ps);</p>
<p>Beim ersten Click wird ein gelber Balken in die entsprechende Textzeile gezeichnet. So weit so gut.<br />
Beim Nächsten Click wird ebenfalls ein gelber Balken an die Stelle gezeichnet. Somit habe ich pro Click einen Balken im Text.</p>
<p>Wie kann ich es erreichen, dass der &quot;alte&quot; Balken verschwindet und nur der Neue zu sehen ist?</p>
<p>Gruss<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232419/gelber-balken-in-ceditctrl</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 11:49:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232419.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Jan 2009 16:19:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gelber Balken in CEditCtrl on Thu, 22 Jan 2009 16:19:41 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich möchte gerne einen gelben Balken in meinem Edit Control einbauen (wie in UltraEdit oder Notepad++)</p>
<p>Folgenden Code habe ich in WM_PAINT eingebaut</p>
<p>HDC hdc, hdcScreenBuffer;<br />
PAINTSTRUCT ps;<br />
RECT rcClient;<br />
HBITMAP hBitmap, hBmpOld;<br />
HBRUSH hBrYellow,hBrWhite;</p>
<p>//Start painting<br />
hdc = ::BeginPaint(m_cEditor,&amp;ps);</p>
<p>hdcScreenBuffer = CreateCompatibleDC( ::GetDC(hWnd) );<br />
::GetClientRect(m_cEditor,&amp;rcClient);<br />
hBitmap = CreateCompatibleBitmap(hdc,rcClient.right, rcClient.bottom = 20 );<br />
hBmpOld = (HBITMAP) SelectObject(hdcScreenBuffer,hBitmap);<br />
hBrYellow = CreateSolidBrush(RGB(0xFF, 0xFF, 0));<br />
hBrWhite = CreateSolidBrush(RGB(100, 100,100));</p>
<p>::FillRect(hdcScreenBuffer,&amp;rcClient,hBrYellow);<br />
BitBlt(hdc,0,yDest,rcClient.right ,rcClient.bottom ,hdcScreenBuffer,0,0,SRCAND);</p>
<p>// Free Memory<br />
DeleteObject(SelectObject(hdcScreenBuffer,hBmpOld));<br />
DeleteObject(hBrYellow);<br />
DeleteObject(hBrWhite);<br />
DeleteDC(hdcScreenBuffer);<br />
ReleaseDC(hdc);</p>
<p>//Stop painting<br />
::EndPaint(m_wndEditor,&amp;ps);</p>
<p>Beim ersten Click wird ein gelber Balken in die entsprechende Textzeile gezeichnet. So weit so gut.<br />
Beim Nächsten Click wird ebenfalls ein gelber Balken an die Stelle gezeichnet. Somit habe ich pro Click einen Balken im Text.</p>
<p>Wie kann ich es erreichen, dass der &quot;alte&quot; Balken verschwindet und nur der Neue zu sehen ist?</p>
<p>Gruss<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650359</guid><dc:creator><![CDATA[matti_b]]></dc:creator><pubDate>Thu, 22 Jan 2009 16:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to Gelber Balken in CEditCtrl on Thu, 22 Jan 2009 17:41:17 GMT]]></title><description><![CDATA[<p>zuerst folgendes:<br />
bitte benutze die cpp-tags um code zu posten.</p>
<p>dein problem wird sein, dass das controll nur den berech neu zeichnet, wo der cursor ist.<br />
Du musst also ein neuzeichnen der alten position erzwingen. Zb mit invalidateRect.</p>
<p>BitBlt ist doch auch im globalen Namespace, sollte also auch zwei doppelpunkte spendiert bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650406</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Thu, 22 Jan 2009 17:41:17 GMT</pubDate></item><item><title><![CDATA[Reply to Gelber Balken in CEditCtrl on Thu, 22 Jan 2009 19:59:27 GMT]]></title><description><![CDATA[<p>Dazu muss du einen zweiten Buffer haben. Deswegen wird die Technik: Double Buffering genannt. Der zweite Buffer ist BITBLT ,,,, XOR<br />
so kann man die Bilder beliebig ein und ausblenden. Genauer kann man sagen: Du erhälst das Original-Bild als Speicherbitmap und blittest immer eines dazu, das geht auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650506</guid><dc:creator><![CDATA[CStern]]></dc:creator><pubDate>Thu, 22 Jan 2009 19:59:27 GMT</pubDate></item><item><title><![CDATA[Reply to Gelber Balken in CEditCtrl on Thu, 22 Jan 2009 20:07:53 GMT]]></title><description><![CDATA[<p>vlad_tepesch schrieb:</p>
<blockquote>
<p>zuerst folgendes:<br />
bitte benutze die cpp-tags um code zu posten.</p>
<p>dein problem wird sein, dass das controll nur den berech neu zeichnet, wo der cursor ist.<br />
Du musst also ein neuzeichnen der alten position erzwingen. Zb mit invalidateRect.</p>
<p>BitBlt ist doch auch im globalen Namespace, sollte also auch zwei doppelpunkte spendiert bekommen.</p>
</blockquote>
<p>Schwätzer! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650507</guid><dc:creator><![CDATA[CStern]]></dc:creator><pubDate>Thu, 22 Jan 2009 20:07:53 GMT</pubDate></item></channel></rss>