en el windowproc durante el wm_paint se crea una pluma roja, lo selecciona en el HDC, dibuja 2 lineas horizontales y lo borra la pluma despues de EndPaint.
Por curiosidad lo cambie un poco: coloque un deleteobject para borrar la pluma despues de dibujar la primera linea y antes de la dibujar la segunda (estando ya seleccionado en el HDC) ya quw en los tutoriales se dice que si se intenta borrar una pluma que esta seleccionada en el HDC o una pluma que ya ha sido borrada pues deleteobject deberia resultar en error o cero, pero lo extraño es q al ejecutar la aplicacion deleteobject resulta true que significa quw si lo ha borrrado por tanto la primera linea deberia ser roja y la segunda no, pero ambas salen rojas.
Luego coloque otro deleteobject debajo del primero, lo que deberia resultar tambien en error o cero por tratar borrar una pluma que ya esta borrada pero deleteobject sigue resultando true.
Alguien mas ha notado ese comportamiento extraño de esa function?
Uso visual c++ 6.0
Código:
Case WM_PAINT:
pluma = CreatePen (...) ;
hdc = BeginPaint (...) ;
SelectObject (hdc, pluma) ;
MoveToEx (hdc, 0, 100, NULL) ;
LineTo (hdc, 300, 100) ;
DeleteObject (pluma) ;
res = DeleteObject (pluma) ;
if (res == 0) // tambien probe colocando if (res == FALSE)
{
MessageBox (..., "error al borrar la pluma"...) ;
}
MoveToEx (......) ;
LineTo (....) ;
EndPaint (...) ;
return 0 ;