This code
void paintStuff(HDC hdc)
{
FillRect(hdcBuffer,&myRect,myBrush);
dot=dots[0];
dot.draw(hdcBuffer);
BitBlt(hdc,0,0,windowWidth,windowHeight,hdcBuffer, 0,0,SRCCOPY);
} only looks at the first entry in "dots" (dot[0]). If you want it to draw both dots, you need to loop over the vector and draw each entry.