Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Formular in Bitmap Zeichnen [!! Mit Popups u.a. !!] (https://www.delphipraxis.net/123599-formular-bitmap-zeichnen-%5B-mit-popups-u-%5D.html)

olee 5. Nov 2008 01:01


Formular in Bitmap Zeichnen [!! Mit Popups u.a. !!]
 
Hi, ich muss ein GANZES Formular in ein Bitmap zeichen. dazu sollen auch solche
Sachen wie ComboBox und Popups dabei sein.

Bisher zeichne ich das Formular mithilfe von Form1.PaintTo(Canvas,X,Y) in ein Bitmap,
doch ist darin kein popup enthalten.

Wie kann ich dieses problem lösen.

--> Mir würde eine Funktion reichen, die ein Popup zeichnet.
(also die Standard Zeichenfunktion für ein Popup für einen bestimmten DC bzw. ein Bitmap auslöst)


Ich hoffe irgendjemand kann mir hier helfen.

Denn wenn das fertig ist, kann ich mein neues 3D-Spiel hier hochladen^^.
(*Werbungmach*)


MSFG
Björn Zeutzheim

Neutral General 5. Nov 2008 01:07

Re: Formular in Bitmap Zeichnen [!! Mit Popups u.a. !!]
 
Hi,

Ich würde mir den DC des Desktops holen und mit GetWindowRect, den Bereich deines Fensters. Dann per BitBlt diesen Bereich auf ein Bitmap malen. Da müssten dann auch Popups etc mit drauf sein.

Gruß
Neutral General

olee 5. Nov 2008 01:09

Re: Formular in Bitmap Zeichnen [!! Mit Popups u.a. !!]
 
Oh da fällt mir noch was ein *gg*

!! Das Formular ist nicht sichtbar !!

Das ist einer der Gründe warum ich das mache (OpenGl)

olee 5. Nov 2008 01:09

Re: Formular in Bitmap Zeichnen [!! Mit Popups u.a. !!]
 
Oder ist es bei diesem Befehl egal, ob es sichbar ist?

Neutral General 5. Nov 2008 01:12

Re: Formular in Bitmap Zeichnen [!! Mit Popups u.a. !!]
 
Hi,

Wenn das Formular nicht sichtbar ist, hast du soweit ich weiß keine bis sehr wenige Chancen an so einen Screenshot ranzukommen.

Es gibt Methoden, wo das entsprechende Fenster unmerklich kurz in den Vordergrund gesetzt wird um einen Screenshot davon zu machen und danach das Fenster wieder minimiert. Aber so auf Anhieb fällt mir da leider jetzt nichts ein :|
Außerdem geh ich jetzt schlafen ;)

Gute Nacht :)

olee 5. Nov 2008 12:18

Re: Formular in Bitmap Zeichnen [!! Mit Popups u.a. !!]
 
Ich habe von jemandem noch etwas erfahren:
Zitat:

Popups sind seperate Fenster. Also die haben mit deinem Form so direkt nichts zu tun. Genau so auch wie die Liste einer Combobox. Diese Fenster werden von Windows verwaltet. Also ohne deren Fensterhandle kannst du nicht mal darauf zugreifen. Und das Handle weiß man zum Glück nicht. Also bekommst du so etwas nur extrem schwer in ein Bitmap.
Kann man nun nicht Windows sagen, dass es dieses Popup auf einen bestimmten DC malen soll?

Seperat arbeite ich daran, diesen mangel so zu ergänzen, dass ich alle controls meines Formulars durchgehe, und kucke, ob z.B. eine ComboBox darin enthalten ist.
Wenn ja, kucke ich dann, ob diese offen ist und zeichne die Menu-Items selbst.

Nur an dem zeichnen hänge ich noch ein wenig. z.B. wenn die Box mehrere einträge enthält und das ding dann scrollt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz