soit un objet HREGION hRgn dont on souhaite récupérer les diférrents rectangle la composant :
// détermination taille nécessaire et allocation DWORD dwSize = GetRegionData(hRgn, 0, NULL); LPBYTE lpMem = new BYTE[dwSize]; LPRGNDATA lpRgnData = (LPRGNDATA) lpMem;
// récupération des données lpRgnData->rdh.dwSize = sizeof(RGNDATAHEADER); GetRegionData(hRgn, lpRgnData, dwSize);
// accès aux rectangles : for(int i = 0; i < lpRgnData->rdh.nCount; i++) { RECT rc; memcpy(&rc, lpRgnData->Buffer + i*sizeof(RECT), sizeof(RECT)); }
|