Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - zeroz
Páginas: [1]
1
« en: Lunes 9 de Junio de 2008, 11:39 »
hola, estoy empezando con unos tutoriales del api de windows para luego adentrarme en las directx o winapi + c++, bueno pues en un ajercicio tengo que cargar una imagen y que siempre este en el centro aunque la pantalla cambie de tamaño, todo va bien menos el doble buffering que no consigo implementarlo, alguien sabe donde esta el error? case WM_SIZE: GetClientRect(hwnd, &coords); InvalidateRect(hwnd, NULL, FALSE); break; case WM_PAINT: hBitmap = (HBITMAP)LoadImage(NULL, fn, IMAGE_BITMAP, ancho, alto, LR_LOADFROMFILE); //carga el bmp desde el disco if( hBitmap == NULL ) return FALSE; xCenter = ((coords.right - coords.left)/2) - (bm.bmWidth/2); yCenter = ((coords.bottom - coords.top)/2) - (bm.bmHeight/2); hdc = BeginPaint( hwnd, &ps ); GetObject(hBitmap, sizeof(BITMAP), &bm); memDC = CreateCompatibleDC(hdc); hBitmapBuffer = CreateCompatibleBitmap(hdc, bm.bmWidth, bm.bmHeight); hBitmapOld = SelectObject( memDC, hBitmapBuffer ); BitBlt( hdc, xCenter, yCenter, bm.bmWidth, bm.bmHeight, memDC, 0, 0, SRCCOPY ); SelectObject( memDC, hBitmapOld ); DeleteObject( hBitmap ); EndPaint( hwnd, &ps ); DeleteObject(memDC); break;
Páginas: [1]
|