<?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[Verstecktes Fenster zeichnen?]]></title><description><![CDATA[<p>Hallo miteinander!</p>
<p>Mit unten stehenden Listing läßt sich wunderbar die komplette Form eines<br />
Renderprogrammes(Terragen) auf mein eigenes Form übertragen, auch wenn dabei alle darüber liegenden Forms mitgezeichnet werden(mein eigenes Programm z.B.).</p>
<p>Nun zu meiner Frage...<br />
Wäre es möglich, da man Terragen &quot;auch im Hintergrund&quot; laufen lassen kann, dieses besagte Fenster auf meine Form zu bekommen, ohne Grafiken und Forms, die man auf dem Desktop sieht?<br />
Oder besteht überhaupt keine Möglichkeit?<br />
Mit unten stehenden Programm funzt es auf jeden Fall nicht, obwohl der Fenstertitel noch gefunden wird!<br />
Für welchen Gebrauch?<br />
Ich habe ein kleines Programm für Terragen geschrieben, mit dem man die Wolken verschieben kann.<br />
Es wäre doch schön und nicht ganz so langweilig, wenn man noch den Renderfortschritt sehen könnte.<br />
Für diejenigen, die es interresiert <a href="http://www.terradreamer.de" rel="nofollow">www.terradreamer.de</a><br />
Dort kann man den Cloudmover herunterladen.<br />
Danke schon mal für eure Antworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
 HWND hWnd;
 AnsiString FensterTitel;
  for(hWnd = GetWindow(GetDesktopWindow(), GW_CHILD); hWnd; hWnd =      GetNextWindow(hWnd, GW_HWNDNEXT))
{
GetWindowText(hWnd, FensterTitel.c_str(), 100);
Edit1-&gt;Text=FensterTitel.c_str();       // Ohne Übergabe an Edit1 
                                        // funktioniert's nicht

if (Edit1-&gt;Text==&quot;Image - [NEW]&quot;)
HWND BCBHandle = hWnd;

  if(BCBHandle)
  {
  //SetForegroundWindow(hWnd);
    // Create a TCanvas for the BCB IDE window. GetWindowDC returns a DC for the
    // whole window, including the menu, title bar and border.
    HDC dc = GetWindowDC(hWnd);
    Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas;
    ScreenCanvas-&gt;Handle = dc;

    // need to create a TRect that is the same width and height as the ClipRect
    // of the Canvas, but whose left and top members are zero.
    TRect rect = ScreenCanvas-&gt;ClipRect;
    rect.Right  = rect.Right  - rect.Left;
    rect.Bottom = rect.Bottom - rect.Top;
    rect.Top = 0;
    rect.Left = 0;

    // resize the bitmap of the Image, and then copy the contents of the
    // BCB ide canvas to the bitmap's canvas. Then clean up the canvas and DC
    Image1-&gt;Picture-&gt;Bitmap-&gt;Width = rect.Right;
    Image1-&gt;Picture-&gt;Bitmap-&gt;Height= rect.Bottom;
    Image1-&gt;Picture-&gt;Bitmap-&gt;Canvas-&gt;CopyRect(rect,
                                              ScreenCanvas,
                                              ScreenCanvas-&gt;ClipRect);
    delete ScreenCanvas;
    ReleaseDC(BCBHandle,dc);
  }
  }
}
}
</code></pre>
<p><strong>Edit:</strong><br />
Bitte die <strong><a href="http://c-plusplus.net/forum/faq.php?mode=bbcode" rel="nofollow">Code-Tags</a></strong> benutzen. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/96167/verstecktes-fenster-zeichnen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 06:20:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/96167.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Dec 2004 10:12:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verstecktes Fenster zeichnen? on Wed, 29 Dec 2004 13:34:44 GMT]]></title><description><![CDATA[<p>Hallo miteinander!</p>
<p>Mit unten stehenden Listing läßt sich wunderbar die komplette Form eines<br />
Renderprogrammes(Terragen) auf mein eigenes Form übertragen, auch wenn dabei alle darüber liegenden Forms mitgezeichnet werden(mein eigenes Programm z.B.).</p>
<p>Nun zu meiner Frage...<br />
Wäre es möglich, da man Terragen &quot;auch im Hintergrund&quot; laufen lassen kann, dieses besagte Fenster auf meine Form zu bekommen, ohne Grafiken und Forms, die man auf dem Desktop sieht?<br />
Oder besteht überhaupt keine Möglichkeit?<br />
Mit unten stehenden Programm funzt es auf jeden Fall nicht, obwohl der Fenstertitel noch gefunden wird!<br />
Für welchen Gebrauch?<br />
Ich habe ein kleines Programm für Terragen geschrieben, mit dem man die Wolken verschieben kann.<br />
Es wäre doch schön und nicht ganz so langweilig, wenn man noch den Renderfortschritt sehen könnte.<br />
Für diejenigen, die es interresiert <a href="http://www.terradreamer.de" rel="nofollow">www.terradreamer.de</a><br />
Dort kann man den Cloudmover herunterladen.<br />
Danke schon mal für eure Antworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
 HWND hWnd;
 AnsiString FensterTitel;
  for(hWnd = GetWindow(GetDesktopWindow(), GW_CHILD); hWnd; hWnd =      GetNextWindow(hWnd, GW_HWNDNEXT))
{
GetWindowText(hWnd, FensterTitel.c_str(), 100);
Edit1-&gt;Text=FensterTitel.c_str();       // Ohne Übergabe an Edit1 
                                        // funktioniert's nicht

if (Edit1-&gt;Text==&quot;Image - [NEW]&quot;)
HWND BCBHandle = hWnd;

  if(BCBHandle)
  {
  //SetForegroundWindow(hWnd);
    // Create a TCanvas for the BCB IDE window. GetWindowDC returns a DC for the
    // whole window, including the menu, title bar and border.
    HDC dc = GetWindowDC(hWnd);
    Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas;
    ScreenCanvas-&gt;Handle = dc;

    // need to create a TRect that is the same width and height as the ClipRect
    // of the Canvas, but whose left and top members are zero.
    TRect rect = ScreenCanvas-&gt;ClipRect;
    rect.Right  = rect.Right  - rect.Left;
    rect.Bottom = rect.Bottom - rect.Top;
    rect.Top = 0;
    rect.Left = 0;

    // resize the bitmap of the Image, and then copy the contents of the
    // BCB ide canvas to the bitmap's canvas. Then clean up the canvas and DC
    Image1-&gt;Picture-&gt;Bitmap-&gt;Width = rect.Right;
    Image1-&gt;Picture-&gt;Bitmap-&gt;Height= rect.Bottom;
    Image1-&gt;Picture-&gt;Bitmap-&gt;Canvas-&gt;CopyRect(rect,
                                              ScreenCanvas,
                                              ScreenCanvas-&gt;ClipRect);
    delete ScreenCanvas;
    ReleaseDC(BCBHandle,dc);
  }
  }
}
}
</code></pre>
<p><strong>Edit:</strong><br />
Bitte die <strong><a href="http://c-plusplus.net/forum/faq.php?mode=bbcode" rel="nofollow">Code-Tags</a></strong> benutzen. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/682442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/682442</guid><dc:creator><![CDATA[Terradreamer]]></dc:creator><pubDate>Wed, 29 Dec 2004 13:34:44 GMT</pubDate></item></channel></rss>