<?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[&amp;quot;Programminterner Screenshot(?)&amp;quot;]]></title><description><![CDATA[<p>Hi,</p>
<p>gibt es eine Funktion mit der man einen Rechteckigen Bereich innerhalb des Fensters speichern kann, um diesen dann an eine andere Stelle zu zeichnen?</p>
<p>Irgendwoher kenn ich das!? Gibts sowas auch bei der WinAPI?</p>
<p>Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/136652/quot-programminterner-screenshot-quot</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 18:31:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136652.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Feb 2006 11:25:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;Programminterner Screenshot(?)&amp;quot; on Sun, 12 Feb 2006 11:25:09 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>gibt es eine Funktion mit der man einen Rechteckigen Bereich innerhalb des Fensters speichern kann, um diesen dann an eine andere Stelle zu zeichnen?</p>
<p>Irgendwoher kenn ich das!? Gibts sowas auch bei der WinAPI?</p>
<p>Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992087</guid><dc:creator><![CDATA[Angel of Darkness]]></dc:creator><pubDate>Sun, 12 Feb 2006 11:25:09 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programminterner Screenshot(?)&amp;quot; on Sun, 12 Feb 2006 11:40:51 GMT]]></title><description><![CDATA[<p>GetClientRect();<br />
dann den bereich darin nehmen den de haben willst... dann da nen pic von machen und fertig -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992109</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 12 Feb 2006 11:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programminterner Screenshot(?)&amp;quot; on Sun, 12 Feb 2006 13:12:09 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>GetClientRect();</p>
</blockquote>
<p>Dann hab ich ja nur die Grösse des Fensters als Rechteck.</p>
<p>(D)Evil schrieb:</p>
<blockquote>
<p>dann den bereich darin nehmen den de haben willst.</p>
</blockquote>
<p>Okaayy...</p>
<p>(D)Evil schrieb:</p>
<blockquote>
<p>dann da nen pic von machen und fertig -.-</p>
</blockquote>
<p>Und was heisst das?<br />
Ist damit gemeint, ein Bild in eine seperate Bilddatei zu speichern und dann zu laden, also einen richtigen Screenshot machen?</p>
<p>Ich dachte da eher an eine Funktion wie:<br />
BereichSpeichern(50, 50, 100, 100);</p>
<p>Und es dann einfach zu verwenden wie:<br />
GespeichertenBereichZeichnen(75, 75);</p>
<p>Ich meine so in der Art ging das mit Turbo Pascal, oder so!?</p>
<p>Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/992224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/992224</guid><dc:creator><![CDATA[Angel of Darkness]]></dc:creator><pubDate>Sun, 12 Feb 2006 13:12:09 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programminterner Screenshot(?)&amp;quot; on Wed, 15 Feb 2006 20:46:56 GMT]]></title><description><![CDATA[<p>kann man natürlich machen, ist aber wie alles bei windows komplizierter als man denkt.</p>
<p>zuerst brauchst du ein bitmap-objekt von der größe des bildschirms, das zudem auch noch kompatibel zum bildschirm ist (gleiche farbtiefe etc). das kriegst du mit CreateCompatibleBitmap(). dann brauchst du noch einen sogenannten kompatiblen device-context. du kannst unter windows nämlich nicht direkt in bitmaps zeichnen sondern nur in dc's. den kompatiblen dc bekommst du mit CreateCompatibleDC(dc). in den kompatiblen dc selektierst du dann mit SelectObject() die bitmap rein. jetzt kannst du mit BitBlt() eine rasteroperation zwischen dem dc des fensters und dem kompatiblen dc machen.</p>
<pre><code class="language-cpp">HBITMAP Bmp;
HDC     Cdc;
INT     W,H

VOID
Init (HDC dc) // dc des fensters
{
  // dc und bmp erzeugen, die zu dem pixelformat des bildschirms
  // kompatibel sind, auf dem sich das fenster befindet
  Bmp=CreateCompatibleBitmap(
        dc,
        GetSystemMetrics(SM_CX_SCREEN),  // breite des desktop-bildschirms
        GetSystemMetrics(SM_CY_SCREEN)); // höhe des desktop-bildschirms
  Cdc=CreateCompatibleDC(dc);

  // damit man die bitmap auch über den kompatiblen dc
  // bearbeiten kann, muß die bitmap in den dc selektiert werden
  SelectObject(Cdc,Bmp);
}

VOID
BereichSpeichern (HDC dc, INT x, INT y, INT w, INT h)
{
  W=w;
  H=h;
  BitBlt(cdc,0,0,w,h,dc,x,y,SRCCOPY);
}

VOID
GespeichertenBereichZeichnen (HDC dc, INT x, INT y)
{
  BitBlt(dc,x,y,W,H,dc,0,0,SRCCOPY);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/995278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/995278</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Wed, 15 Feb 2006 20:46:56 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programminterner Screenshot(?)&amp;quot; on Thu, 16 Feb 2006 14:57:10 GMT]]></title><description><![CDATA[<p>geh auf <a href="http://www.codeproject.com" rel="nofollow">www.codeproject.com</a> und suche mal nach Capture Screen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/995856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/995856</guid><dc:creator><![CDATA[Vertexwahn]]></dc:creator><pubDate>Thu, 16 Feb 2006 14:57:10 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programminterner Screenshot(?)&amp;quot; on Thu, 16 Feb 2006 16:35:29 GMT]]></title><description><![CDATA[<p>Eine Forensuche macht manchma Sinn:</p>
<p>06.02.2006:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-135906-and-highlight-is-screenshot.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-135906-and-highlight-is-screenshot.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/995977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/995977</guid><dc:creator><![CDATA[Sakron]]></dc:creator><pubDate>Thu, 16 Feb 2006 16:35:29 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programminterner Screenshot(?)&amp;quot; on Sat, 18 Feb 2006 08:21:26 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ja Konfusius, das meinte ich, aber...</p>
<p>ich hätte da noch ne Frage, und zwar wenn ich es so mache, funktioniert es:</p>
<pre><code>BitBlt(cdc, 0,0, 1000,100, hdc, 0,0, SRCCOPY);
BitBlt(hdc, 0,100, 1000,100, hdc, 0,0, SRCCOPY);
</code></pre>
<p>Wenn ich es aber so mache dann ist es da, wo er zeichnen soll, einfach nur schwarz:</p>
<pre><code>BitBlt(cdc, 0,0, 320,600, hdc, 350,0, SRCCOPY);
BitBlt(hdc, 350,20, 320,600, hdc, 0,0, SRCCOPY);
</code></pre>
<p>Was ist hier falsch?</p>
<p>Und hierbei setzt er es zwar ein Stückchen runter, aber auch ein großes Stück nach rechts, obwohl die x-Koordiante zum speichern und zeichnen doch die selbe ist:</p>
<pre><code>BitBlt(cdc, 0,0, 670,580, hdc, 350,0, SRCCOPY);
BitBlt(hdc, 350,20, 670,580, hdc, 0,0, SRCCOPY);
</code></pre>
<p>Also, wenn die erste funktioniert, versteh ich nicht wieso die anderen es nicht tun. <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>Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/997090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997090</guid><dc:creator><![CDATA[Angel of Darkness]]></dc:creator><pubDate>Sat, 18 Feb 2006 08:21:26 GMT</pubDate></item></channel></rss>