Stellen Sie sich ein Dokumentfenster in einer MDI-Anwendung vor, das ein untergeordnetes WPF-Fenster enthält, zum Beispiel eine Seitenleiste. Wie kann man eine Bitmap erhalten, die sowohl die WPF-Pixel als auch die GDI-Pixel (nicht-WPF) enthält?
Ich habe entdeckt, dass, wenn ich meine Miniaturvorschau für die Win7-Taskleiste app-Symbol schweben, ich schwarz in den Teilen der Vorschau, wo die WPF-Pixel sein sollte erhalten. Meine aktuelle Methode greift einfach eine Bitmap-Erfassung des Dokumentfensters. Dann erhalte ich einen DC für die Vorschau, mache daraus einen Speicher-DC und wähle meine Bitmap darin aus. Dann nehme ich einige Größenanpassungen vor und verbinde den Speicher-DC mit dem echten DC. Ich vermute, dass die BitBlt-Operation nicht die Tatsache berücksichtigt, dass die WPF-Pixel hardwarebeschleunigt sind und daher von der Grafikhardware gegriffen werden müssen. All das Zeug in GDI ist nur gut verwaltet, obwohl und wenn es keine WPF Kind Windows, das Vorschaubild sieht gut.
Ich frage mich, ob es überhaupt möglich ist, eine Bitmap des WPF-Fensters von nativen C++ zu greifen. Dann kann ich das auf den schwarzen Bereich der vorherigen Vorschau blt.