![]() |
Screenshot mit Quickinfo ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
ich habe einige Funktionen von Screenshot aber keine kopiert die Quickinfo am Bildschirm. Wie kann man die Quickinfo dazu beim Screenshot kopieren ? Die quickinfo kann man mit der Taste "DRUCK" mitkopieren (siehe Anhang) : |
Re: Screenshot mit Quickinfo ?
Was für einen Code benutzt du zum Anfertigen des Screenshots? Ich meine mich zu erinnern, dass Varianten mit "CreateCompatibleDC" bei Tooltips, Menüs und transparenten Fenstern andere Ergebnisse liefern als mit "GetDC". Mit "CreateCompatibleDC" sind sie glaube ich sichtbar, bei "GetDC" nicht.
|
Re: Screenshot mit Quickinfo ?
Hallo
Du könntest per Findwindow() das ToolTip Fenster suchen und dann, falls vorhanden, einen Snapshot davon machen und auf den bestehenden Screenshot zeichnen.
Delphi-Quellcode:
hToolTip := FindWindow('tooltips_class32', nil);
if IsVisible(hToolTip) then begin // Snapshot vom ToolTip machen // Auf den Screenshot zeichnen end; |
Re: Screenshot mit Quickinfo ?
Hallo zusammen
Ich verwende diesen einfachen Procedure:
Delphi-Quellcode:
Wo muss ich ändern, damit alles kopiert wird?
var
DC : HDC; begin DC := GetDC (GetDesktopWindow) ; try DestBitmap.Width := dx; DestBitmap.Height := dy; BitBlt(DestBitmap.Canvas.Handle, 0, 0, DestBitmap.Width, DestBitmap.Height, DC, X , Y, SRCCOPY) ; finally ReleaseDC (GetDesktopWindow, DC) ; end; end; |
Re: Screenshot mit Quickinfo ?
Versuch es mal mit
Delphi-Quellcode:
DC := CreateCompatibleDC( GetDC (GetDesktopWindow));
|
Re: Screenshot mit Quickinfo ?
Zitat:
Aber diese Funktion, was ich über google gefunden habe, kopiert alles Das Prinzip ist so ähnlich, was @Toms vorgeschlagen hat :
Delphi-Quellcode:
procedure CaptureScreen(Bitmap: TBitmap);
const CAPTUREBLT = $40000000; var hdcScreen: HDC; hdcCompatible: HDC; bmp: TBitmap; hbmScreen: HBITMAP; begin // Create a normal DC and a memory DC for the entire screen. The // normal DC provides a "snapshot" of the screen contents. The // memory DC keeps a copy of this "snapshot" in the associated // bitmap. hdcScreen := CreateDC('DISPLAY', nil, nil, nil); hdcCompatible := CreateCompatibleDC(hdcScreen); // Create a compatible bitmap for hdcScreen. hbmScreen := CreateCompatibleBitmap(hdcScreen, GetDeviceCaps(hdcScreen, HORZRES), GetDeviceCaps(hdcScreen, VERTRES) ); // Select the bitmaps into the compatible DC. SelectObject(hdcCompatible, hbmScreen); //Copy color data for the entire display into a //bitmap that is selected into a compatible DC. bmp := TBitmap.Create; bmp.Handle := hbmScreen; BitBlt(hdcCompatible, 0, 0, bmp.Width, bmp.Height, hdcScreen, 0, 0, SRCCOPY or CAPTUREBLT); Bitmap.Assign(bmp); bmp.Free; DeleteDC(hdcScreen); DeleteDC(hdcCompatible); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 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