Delen via


Overzicht van DWM-miniatuurweergave

Met Desktop Window Manager (DWM) kunt u miniatuurweergaven van toepassingsvensters weergeven. Dit zijn geen statische momentopnamen van een venster, maar zijn in plaats daarvan dynamische, constante verbindingen tussen een miniatuurbronvenster en een locatie in een doelvenster dat de weergave van de liveminiatuur ontvangt. Hierdoor kunt u toepassingen snel weergeven door de muisaanwijzer over de toepassing op de taakbalk te bewegen of door de ALT-TAB sleutelbeweging te gebruiken om een toepassing te zien en snel over te schakelen.

In de volgende afbeelding ziet u de live miniatuur van Windows Vista wanneer u de muisaanwijzer over de toepassing op de taakbalk beweegt.

Schermopname van de D W M-miniatuur die wordt weergegeven bij het aanwijzen van een app op de taakbalk.

In de volgende afbeelding ziet u de Windows Vista Flip (ALT-TAB) ingeschakeld door DWM.

schermafbeelding van alt-tab met ingeschakelde dwm

Notitie

Met DWM-miniaturen kunnen ontwikkelaars geen toepassingen maken, zoals de functie Windows Vista Flip3D (WINKEY-TAB). Miniaturen worden rechtstreeks weergegeven in het doelvenster in 2-D.

 

DWM-miniatuurrelaties

Als u miniaturen in uw toepassing wilt weergeven, moet u eerst een relatie tot stand brengen tussen een bronvenster en een doelvenster. Dit wordt gedaan door de functie DwmRegisterThumbnail aan te roepen.

DwmRegisterThumbnail geeft geen miniatuur weer in het doelvenster, maar legt alleen de relatie totstand en levert de miniatuurgreep. De miniatuur wordt weergegeven nadat de DWM_THUMBNAIL_PROPERTIES zijn ingesteld en de DwmUpdateThumbnailProperties functie is aangeroepen. Bij volgende aanroepen naar DwmUpdateThumbnailProperties wordt de miniatuur bijgewerkt met een nieuwe set eigenschappen. De DWM biedt ook de helperfunctie DwmQueryThumbnailSourceSize om de grootte van het bronvenster op te halen uit de miniatuur.

Als u een miniatuurrelatie wilt beƫindigen, roept u de functie DwmUnregisterThumbnail aan.

In het volgende voorbeeld ziet u hoe u een relatie met het Windows-bureaublad opzet en deze weergeeft in een applicatie.

HRESULT hr = S_OK;
HTHUMBNAIL thumbnail = NULL;

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

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

    // Display the thumbnail
    hr = DwmUpdateThumbnailProperties(thumbnail,&dskThumbProps);
    if (SUCCEEDED(hr))
    {
        // ...
    }
}
return hr;

Overzicht van Bureaubladvensterbeheerder

DWM-samenstelling inschakelen en beheren

Prestatieoverwegingen en Beste Werkwijzen