c ++ - Windws MSDN applikationsprogrammering: Rendered Object vises ikke over hele vinduet

Indlæg af Hanne Mølgaard Plasc

Problem



I min Windows-applikation har jeg et vindueshåndtag over dette, jeg er
   hvilket gør et ole-objekt ved hjælp af det reelle område af vinduet ved hjælp af
   GetClientRect.


Før jeg gengiver OLEobject til Rect area, ændrer jeg størrelsen
   rekt med hjælp af msdn api AtlPixelToHiMetric .


Til skærm
   opløsning af 1600*900, Ole-objektet gengiver korrekt. Men hvis vi er
   teste det samme med højere opløsning som 3840 * 2160 ** ole objekt
       viser over en del af vinduet håndtag område ???????


. **


Kan nogen foreslå det her?

   Funktionsdetaljerne for dimensionering af metrisk af rekt område og indstilling af ole
   objekt er som følger.


::SetRect(const RECT& \_rc)
{
    rObject = \_rc;

    {
        SIZEL sz;
        sz.cx = rObject.right - rObject.left;
        sz.cy = rObject.bottom - rObject.top;
        SIZEL m\_sizeExtent;
        AtlPixelToHiMetric(&sz, &m\_sizeExtent);
        sz = m\_sizeExtent;
        oleObject->SetExtent(DVASPECT\_CONTENT, &sz);
    }

    if (oleInPlaceObject != 0)
    {
        oleInPlaceObject->SetObjectRects(&rObject, &rObject);
    }
}

Bedste reference