[C con Clase] Cargar y usar un bitmap desde archivo abrir‏

Programante programante en gmail.com
Lun Abr 6 16:06:40 CEST 2009


Juan Antonio Hernández Álvarez escribió:
> Hola buenas
>
> Ante todo  muchas gracias Steve por tu anterior respuesta me ha
> ayudado mucho  a orientarme
>
> En esta ocasion abro un cuadro de dialogo de abrir 
>
>  if (GetOpenFileName(&ofn)==TRUE)
>                         {
>                              abrir = CreateFile(ofn.lpstrFile,
>                                                  GENERIC_READ,
>                                                  0,
>                                                
> (LPSECURITY_ATTRIBUTES) NULL,
>                                                  OPEN_EXISTING,
>                                                  FILE_ATTRIBUTE_NORMAL,
>                                                  (HANDLE) NULL);
>  }
>
> abrir es de tipo HANDLE que segun la documetación del msdn se
> transformará del tipo de dato especificado
>
> yo lo que quiero hacer es cargar un bitmap imagenes .bmp y  usarlas
> como un bitmap  dentro de mi programa
>
> es decir poder usarlo como fondo, copiarlo...
>
> hasta ahora lo se hacer con preestablecidos. Por ejemplo me gustaria
> hacer lo equivalente a lo que hago con este otro cagado en el .rc
>
>                 hdc=GetDC(hwnd);
>                 hdcmem=CreateCompatibleDC(hdc);
>                 ReleaseDC(hwnd, hdc);
>
>                 hbitmap = LoadBitmap
> ((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),
>                     MAKEINTRESOURCE (IDB_BITMAP1));
>                 SelectObject (hdcmem, hbitmap);
>
>                 GetObject (hbitmap, sizeof(BITMAP), &bm); // Vemos el
> tamaño del dibujo
>                 ancho = bm.bmWidth;
>                 alto = bm.bmHeight;
>                 DeleteObject(hbitmap);
>
> pero con el de abrir
>
>
> Un saludo y muchas gracias por anticipado
> Juanan

No necesitas usar CreateFile, en vez de LoadBitmap, utiliza la función
LoadImage con el parámetro LR_LOADFROMFILE
http://winapi.conclase.net/curso/index.php?fun=LoadImage





Más información sobre la lista de distribución Cconclase