Para dibujar en Visual C++, exitsten las funciones:
::MoveToEx(..,..,..,..);
::LineTo(...,...,...);
Ahora, si no tambien podes usar un contexto de dispositivo de memoria:
//Recorda q no recuerdo bien la cantidad de parametros
//CPaintDC hereda de CDC
CPaintDC ContextoTuyo(this);
ContextoTuyo.MoveToEx(...,...,...);
ContextoTuyo.LineTo(...,...,...);
//Despues tenes que hacer un Release
Tene en cuenta que la primera opcion es mejor si usas la API de Windows, y lo otro es mejor con MFC
Luego, respondiendo a tu pregunta de como hacer q rebote la linea:
Mira no se me ocurre en este momento la solucion justa, pero me parece algo bastente simple de pensar que tendrias q hacer vos. Si vos tenes un cuadro en el medio de la pantalla, fijate que posicion ocupa y cuando hagas un LineTo valida que la linea no pise el cuadrado de la pantalla y si lo pasa calcula cuanto lo pasa y eso seria lo que tenes que dibujar despues de haber rebotado.
Espero q te haya servido de algo
Salu2!!!!