title: CreateBitmap() returns upside down image
body: <p>I load my saved Bitmap's bits array. (and BITMAPINFOHEADER structure).</p>
  
  <pre><code>HBITMAP Filemanager::LoadNextImageFromMyFile(HANDLE file)
  {
  HDC hdc = GetDC(father-&gt;hWindow-&gt;_hwnd);
  DWORD dwTmp; 
  BITMAPFILEHEADER hdr;
  ReadFile(file,&amp;hdr,sizeof(BITMAPFILEHEADER),&amp;dwTmp,NULL);
  BITMAPINFOHEADER pbih; 
  ReadFile(file, &amp;pbih,sizeof(BITMAPINFOHEADER) 
      + hdr.bfReserved1 * sizeof (RGBQUAD),&amp;dwTmp,NULL);
  LPBYTE lpBits = (LPBYTE) GlobalAlloc(GMEM_FIXED, pbih.biSizeImage);
  BYTE* hp = lpBits;
  ReadFile(file,hp,pbih.biSizeImage, &amp;dwTmp, NULL);
  return CreateBitmap(pbih.biWidth,pbih.biHeight,pbih.biPlanes,pbih.biBitCount, hp);;
  }
  </code></pre>
  
  <p>I get upside down image. How can i fix it? (i think that reversing bitsArray will be a solution, but maybe there is better way?)</p>