Я создаю приложение, которое рисует необработанные растровые изображения на hdc на ярлыке с помощью StrechDIBits.Перерисовать изображение после перехода на полный экран и обратно в C++/CLI
ptr = g->GetHdc();
dc = (HDC)ptr.ToInt32();
SetStretchBltMode (dc, COLORONCOLOR);
StretchDIBits (dc, 0, 0, (int) (LabelPictureShow->Width), (int) (LabelPictureShow->Height), 0, 0, width, height, data, bitmapInfo, DIB_RGB_COLORS, SRCCOPY);
g->ReleaseHdc (ptr);
Таким образом, я рисую целый видеопоток, одно изображение из потока за другим, которое работает идеально. У меня также есть функция, которая меняет размер моей формы и этикетки на весь экран для реализации полного экрана, который также отлично работает при воспроизведении видео.
Но, когда я останавливаю видео или отправляю только одно изображение и вызываю полную функцию scren. Это не будет перерисовывать изображение, и это моя проблема. Я попытался использовать событие Paint, изменить размер события как формы, так и метки для повторного рисования изображения после изменения размера, но ничего не работает. Когда я получу полноэкранный режим или вернусь к нормальному размеру, мое изображение мигает на короткое мгновение, но затем оно перекрашивается цветом управления и исчезает. Я попытался поместить код рисования с помощью StretchDIBits везде, где ничего не работает. Любая помощь или совет действительно оценены.
редактировать: печальная вещь для меня, что, когда я поставил код картины, например, выберите событие ярлыка, он отлично работает ...