AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Screenshot mit Quickinfo ?

Ein Thema von thomas2009 · begonnen am 2. Jan 2009 · letzter Beitrag vom 2. Jan 2009
Antwort Antwort
thomas2009
(Gast)

n/a Beiträge
 
#1

Screenshot mit Quickinfo ?

  Alt 2. Jan 2009, 20:05
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) :
Miniaturansicht angehängter Grafiken
quickinfo_181.jpg  
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Screenshot mit Quickinfo ?

  Alt 2. Jan 2009, 20:23
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.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Screenshot mit Quickinfo ?

  Alt 2. Jan 2009, 20:47
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;
Thomas
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#4

Re: Screenshot mit Quickinfo ?

  Alt 2. Jan 2009, 21:08
Hallo zusammen
Ich verwende diesen einfachen Procedure:
Delphi-Quellcode:
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;
Wo muss ich ändern, damit alles kopiert wird?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Screenshot mit Quickinfo ?

  Alt 2. Jan 2009, 21:15
Versuch es mal mit
DC := CreateCompatibleDC( GetDC (GetDesktopWindow));
Markus Kinzler
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#6

Re: Screenshot mit Quickinfo ?

  Alt 2. Jan 2009, 21:32
Zitat von mkinzler:
Versuch es mal mit
DC := CreateCompatibleDC( GetDC (GetDesktopWindow));
Ich erhalte ein weißes Bild

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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz