Delphi-PRAXiS
Seite 9 von 10   « Erste     789 10      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bildschirmlupe - Bereich unter Formular ermitteln (https://www.delphipraxis.net/126586-bildschirmlupe-bereich-unter-formular-ermitteln.html)

Garfield 3. Jan 2009 09:01

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Wenn ich unter XP einen Screenshot mache, ist meine Lupe darauf nicht zu sehen. Bei Overlayvideos sieht man nur die schwarze Zeichenfläche. Wie ist es bei Aero? Was wird dort nicht vom Screenshot erfasst?

http://www.xsized.de/screenshot-maker-unter-vista/
http://www.karsan.de/ScreenshotToolF%C3%BCrVista.aspx
http://www.windowclippings.com/screenshots/

Garfield 3. Jan 2009 15:42

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Was zum Lesen:

http://weblogs.asp.net/kennykerr/arc...pings-1-5.aspx
http://www.stevetrefethen.com/blog/W...staAeroUI.aspx
http://www.stevetrefethen.com/blog/S...WindowsXP.aspx
http://msdn.microsoft.com/en-us/libr...37(VS.85).aspx
http://weblogs.asp.net/kennykerr/arc...w-Manager.aspx
http://stoyanoff.info/blog/2008/07/21/tweak-dwm-part-1/
http://blogs.msdn.com/adam_nathan/ar...04/589686.aspx

Edit: Link-Tag gesetzt.

turboPASCAL 3. Jan 2009 16:24

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
[edit="tP"] removed [/edit]

Garfield 4. Jan 2009 00:54

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
http://msdn.microsoft.com/de-de/magazine/cc163435.aspx

Garfield 4. Jan 2009 10:35

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Ist ja auf einmal so ruhig hier.

Im Prinzip könnte die Miniaturansicht in Frage kommen.

http://msdn.microsoft.com/de-de/library/aa480220.aspx

lbccaleb 4. Jan 2009 12:50

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Unter Vista währe es vllt möglich, die neue Thumbnail der DWM Api zu nutzen!

Es ist bestimmt möglich selbiges zu vergrößern, und dann auf die Form zu zeichnen!
Hat natürlich das Problem, das es dann unter Xp nicht mehr läuft.
Auch weiß ich nicht ob man alle Fenster auf dem Thumbnail azeigen lassen kann, da es normalerweise ja nur für ein Fenster gedacht ist.

Garfield 4. Jan 2009 13:13

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von lbccaleb
Unter Vista währe es vllt möglich, die neue Thumbnail der DWM Api zu nutzen!

Dann bin ich mit der Ansicht nicht allein (#85).

Zitat:

Zitat von lbccaleb
Hat natürlich das Problem, das es dann unter Xp nicht mehr läuft.

Unter Vista ohne aktivierten DWM auch nicht. Also braucht man zwei Möglichkeiten. Hier hatte taaktaak ein Testprogramm für die Erkennung von Glass veröffentlicht. Kann ich nicht testen. Habe zwar bei der Server 2008 Trial jetzt Aero installiert bekommen, aber für Glass ist meine GeFrorce 2 MX 400 wohl zu schwach.

Zitat:

Zitat von lbccaleb
Auch weiß ich nicht ob man alle Fenster auf dem Thumbnail azeigen lassen kann, da es normalerweise ja nur für ein Fenster gedacht ist.

Wenn das auch über das Handle geht, sollte dies nicht das Problem sein. Dann ist es eher der Ausschnitt und die Vergrößerung.

Garfield 4. Jan 2009 17:53

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Das Beispiel von http://msdn.microsoft.com/en-us/library/aa969541.aspx

Code:
 HRESULT hr = S_OK;

   //Register Thumbnail
   HTHUMBNAIL thumbnail = NULL;

   hr = DwmRegisterThumbnail(hwnd, FindWindow(_T("Progman"), NULL), &thumbnail);
   if (SUCCEEDED(hr))
   {
      //destination rectangle size
      RECT dest = {0,50,100,150};

      //Set thumbnail properties for use
      DWM_THUMBNAIL_PROPERTIES dskThumbProps;
      dskThumbProps.dwFlags = DWM_TNP_RECTDESTINATION | DWM_TNP_VISIBLE | DWM_TNP_SOURCECLIENTAREAONLY;
      //use window frame and client area
      dskThumbProps.fSourceClientAreaOnly = FALSE;
      dskThumbProps.fVisible = TRUE;
      dskThumbProps.opacity = (255 * 70)/100;
      dskThumbProps.rcDestination = dest;

      //display the thumbnail
      hr = DwmUpdateThumbnailProperties(thumbnail,&dskThumbProps);
      if (SUCCEEDED(hr))
      {
         //do more things
      }
   }
   return hr;
Sieht so aus, als könnte es funktionieren: http://msdn.microsoft.com/en-us/libr...02(VS.85).aspx

Code:
DWM_THUMBNAIL_PROPERTIES Structure

Specifies Desktop Window Manager (DWM) thumbnail properties.

Syntax

    typedef struct _DWM_THUMBNAIL_PROPERTIES {
        DWORD dwFlags;
        RECT rcDestination;
        RECT rcSource;
        BYTE opacity;
        BOOL fVisible;
        BOOL fSourceClientAreaOnly;
    } DWM_THUMBNAIL_PROPERTIES, *PDWM_THUMBNAIL_PROPERTIES;

Members

    dwFlags
        A bitwise combination of DWM Thumbnail Constants values indicating which members are set.
    rcDestination
        The rectangle in the destination window the thumbnail will be rendered.
    rcSource
        The rectangle specifying the region of the source window to use as the thumbnail. The default is to use the entire window as the thumbnail.
    opacity
        The opacity with which to render the thumbnail. 0 is fully transparent while 255 is fully opaque. The default value is 255.
    fVisible
        TRUE to make the thumbnail visible; FALSE to make the thumbnail invisible. The default is FALSE.
    fSourceClientAreaOnly
        TRUE to only use the thumbnail source's client area; otherwise, FALSE; The default is FALSE.
http://11011.net/archives/000651.html + http://11011.net/archives/000653.html

http://www.youtube.com/watch?v=pSaN5...p://siwu.info/

Ein C# Beispiel mit Source: http://community.bartdesmet.net/blog...0/05/4495.aspx
Etwas in Delphi: http://www.delphipraxis.net/internal...ct.php?t=89270

Namenloser 4. Jan 2009 18:48

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von lbccaleb
Unter Vista währe es vllt möglich, die neue Thumbnail der DWM Api zu nutzen!

Es ist bestimmt möglich selbiges zu vergrößern, und dann auf die Form zu zeichnen!
Hat natürlich das Problem, das es dann unter Xp nicht mehr läuft.
Auch weiß ich nicht ob man alle Fenster auf dem Thumbnail azeigen lassen kann, da es normalerweise ja nur für ein Fenster gedacht ist.

Mit der Thumbnail API hatte ich es auch schon versucht. Aber da fingen die Probleme schon mit den fehlenden Headern an... ich hab es zwar geschafft, Notepad anzuzeigen, aber weder eine Vorschau des gesamten Screens zu erzeugen, noch die Vorschau auf ein Bitmap zu kopieren.

Garfield 4. Jan 2009 19:08

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
http://blog.delphi-jedi.net/2008/05/...ows-with-aero/ -> http://blog.delphi-jedi.net/wp-conte.../jwadwmapi.zip


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
Seite 9 von 10   « Erste     789 10      

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