[C con Clase] bitmaps con visual studio

Steven Davidson steven en conclase.net
Sab Jul 28 00:59:23 CEST 2007


Hola Miguel,

El pasado 2007-07-27 18:53:14, miguel escribió:

m> buenas a todos
m> resulta que soy algo novato con el visual c++ (llevo unas 5 horas), en este momento estoy manejando el visual studio 6.0, y estoy intentando hacer un programita que maneja algunos gráficos, pero no he logrado ni siquiera mostrar el primero.  No me envía ningún error de compilación ni nada similar, y por lo que veo y entiendo lo estoy haciendo bien, ahí les envío el código inicial (supremamente básico, solo inicializo un bitmap y lo intento poner en la ventana principal)
m> ...
m> //acá uso el procedimiento que maneja la ventana principal
m> LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
m> {	//creo las variables a usar
m> 	PAINTSTRUCT ps;
m> 	HDC hdc;
m> 	HDC memDC;
m>         static HINSTANCE hInstance;
m> 	static HBITMAP hDado1;
m>         switch (message)
m> 	{
m> 		case WM_CREATE:
m> 			hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
m>                         //con esto importo el bitmap
m> 			hDado1 = LoadBitmap(hInstance, "dado1.bmp");

He hecho una prueba basándome en tu código bajo VC++. El problema está con 'LoadBitmap()', la cual está obsoleta. Deberías usar la función de 32 bits, 'LoadImage()'. En mi prueba, todo funciona correctamente, si usas 'LoadImage()'. Esto sería,

hDado1 = (HBITMAP) LoadImage( NULL, TEXT("dado1.bmp"),
                              IMAGE_BITMAP, 0,0, LR_LOADFROMFILE );


Espero haber aclarado el tema.

Steven


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