const int dest_x = (((this->Items)[index]).ItemRect)->GetLeft(); const int dest_y = (((this->Items)[index]).ItemRect)->GetTop(); d_graphics->DrawImage( &s_bitmap, dest_x, dest_y); d_graphics->DrawImage( &m_bitmap, dest_x, dest_y); The last image is drawn so as if the params are undefined!!! But! int dest_x; int dest_y; dest_x = (((this->Items)[index]).ItemRect)->GetLeft(); dest_y = (((this->Items)[index]).ItemRect)->GetTop(); d_graphics->DrawImage( &s_bitmap, dest_x, dest_y); // Define them again. dest_x = (((this->Items)[index]).ItemRect)->GetLeft(); dest_y = (((this->Items)[index]).ItemRect)->GetTop(); d_graphics->DrawImage( &m_bitmap, dest_x, dest_y); Now all works! According to MSDN the params are the input ones!