<?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[screenshot wird nicht richtig gemacht]]></title><description><![CDATA[<p>die &quot;Breite&quot; stimmt, die &quot;Höhe&quot; auch - jedoch nicht die &quot;Anfangsposition&quot; ... der Screenshot wird also etwas verschoben ... warum?</p>
<pre><code class="language-cpp">HWND hWnd = (HWND)StrToInt(worte-&gt;Strings[2]);
       HDC DC = GetDC(hWnd);
       RECT rc;
       if (GetWindowRgn(hWnd,&amp;rc) || GetWindowRect(hWnd, &amp;rc))
       {
          Form1-&gt;HandleWindow-&gt;Picture-&gt;Bitmap-&gt;FreeImage();
          HandleWindow-&gt;Picture-&gt;Bitmap-&gt;Handle = CreateCompatibleBitmap(DC, rc.right-rc.left, rc.bottom-rc.top);

          if (GetDeviceCaps(DC, RASTERCAPS) &amp; RC_PALETTE)
          {
             int palette_size = GetDeviceCaps(DC, SIZEPALETTE);
             if (palette_size == 256)
             {
                const size_t size = sizeof(LOGPALETTE) + (palette_size-1) * sizeof(PALETTEENTRY);
                unsigned char* pBuffer = new unsigned char[size];

                LPLOGPALETTE lplogpal = reinterpret_cast&lt;LPLOGPALETTE&gt;(pBuffer);
                lplogpal-&gt;palVersion = 0x300;
                lplogpal-&gt;palNumEntries = palette_size;
                GetSystemPaletteEntries(DC, 0, palette_size, lplogpal-&gt;palPalEntry);

                HandleWindow-&gt;Picture-&gt;Bitmap-&gt;Palette = CreatePalette(lplogpal);
                delete [] pBuffer;
             }
          }

          BitBlt(HandleWindow-&gt;Picture-&gt;Bitmap-&gt;Canvas-&gt;Handle, 0, 0,
                 HandleWindow-&gt;Width, HandleWindow-&gt;Height,
                 DC, 0, 0, SRCCOPY);

          ReleaseDC(Handle, DC);
</code></pre>
<p>Bitte HIIILFE!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182726/screenshot-wird-nicht-richtig-gemacht</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 08:38:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182726.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 May 2007 15:24:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to screenshot wird nicht richtig gemacht on Mon, 28 May 2007 15:24:45 GMT]]></title><description><![CDATA[<p>die &quot;Breite&quot; stimmt, die &quot;Höhe&quot; auch - jedoch nicht die &quot;Anfangsposition&quot; ... der Screenshot wird also etwas verschoben ... warum?</p>
<pre><code class="language-cpp">HWND hWnd = (HWND)StrToInt(worte-&gt;Strings[2]);
       HDC DC = GetDC(hWnd);
       RECT rc;
       if (GetWindowRgn(hWnd,&amp;rc) || GetWindowRect(hWnd, &amp;rc))
       {
          Form1-&gt;HandleWindow-&gt;Picture-&gt;Bitmap-&gt;FreeImage();
          HandleWindow-&gt;Picture-&gt;Bitmap-&gt;Handle = CreateCompatibleBitmap(DC, rc.right-rc.left, rc.bottom-rc.top);

          if (GetDeviceCaps(DC, RASTERCAPS) &amp; RC_PALETTE)
          {
             int palette_size = GetDeviceCaps(DC, SIZEPALETTE);
             if (palette_size == 256)
             {
                const size_t size = sizeof(LOGPALETTE) + (palette_size-1) * sizeof(PALETTEENTRY);
                unsigned char* pBuffer = new unsigned char[size];

                LPLOGPALETTE lplogpal = reinterpret_cast&lt;LPLOGPALETTE&gt;(pBuffer);
                lplogpal-&gt;palVersion = 0x300;
                lplogpal-&gt;palNumEntries = palette_size;
                GetSystemPaletteEntries(DC, 0, palette_size, lplogpal-&gt;palPalEntry);

                HandleWindow-&gt;Picture-&gt;Bitmap-&gt;Palette = CreatePalette(lplogpal);
                delete [] pBuffer;
             }
          }

          BitBlt(HandleWindow-&gt;Picture-&gt;Bitmap-&gt;Canvas-&gt;Handle, 0, 0,
                 HandleWindow-&gt;Width, HandleWindow-&gt;Height,
                 DC, 0, 0, SRCCOPY);

          ReleaseDC(Handle, DC);
</code></pre>
<p>Bitte HIIILFE!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1293845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1293845</guid><dc:creator><![CDATA[Simon123]]></dc:creator><pubDate>Mon, 28 May 2007 15:24:45 GMT</pubDate></item></channel></rss>