Я использовал один раз BitBlt, чтобы сохранить скриншот в файл изображения (.Net Compact Framework V3.5, Windows Mobile 2003 и более поздние версии). Работал нормально. Теперь я хочу нарисовать растровое изображение в форме. Я мог бы использовать this.CreateGraphics().DrawImage(mybitmap, 0, 0)
, но мне было интересно, будет ли он работать с BitBlt, как раньше, и просто поменять местами параметры. Итак, я написал:
[DllImport("coredll.dll")]
public static extern int BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, uint dwRop);
(и далее вниз:)
IntPtr hb = mybitmap.GetHbitmap();
BitBlt(this.Handle, 0, 0, mybitmap.Width, mybitmap.Height, hb, 0, 0, 0x00CC0020);
Но форма остается белой. Это почему? Где ошибка, которую я совершил?
Спасибо за ваше мнение. Ура, Дэвид