Можно ли получить растровое изображение формы с заголовком и рамкой?

Стандартные средства Delphi позволяют получать растровое изображение только внутренней части окна. Для получения изображения всего окна с заголовком и рамкой необходимо воспользоваться функциями API.

Во-первых, получаем контекст всего окна функцией:

function GetWindowDC(Wnd: HWnd): HDC;

Затем копируем растровое изображение окна в компонент TImage (для примера). И освобождаем полученный контекст окна:

function ReleaseDC(Wnd: HWnd; DC: HDC): Integer;

Пример:

procedure TForm1.Button1Click(Sender: TObject);
VAR DC: hDC;
begin
 
 DC := GetWindowDC(Handle);
 Image1.Picture.BitMap.Height := Height;
 Image1.Picture.BitMap.Width := Width;
 BitBlt(Image1.Picture.BitMap.Canvas.Handle, 0, 0, Width, Height, 
        DC, 0, 0, SRCCOPY);
 ReleaseDC(Handle, DC);
 
end;

Последние комментарии

  • http://new-rutor.org
  • Производство матрацев. Реализация текстильной продукции https://goo.gl/5WYADp - подушка детская купить оптом - любые объемы, - матрасы высочайшего качества, - самые выгодные цены https://goo.gl/5WYADp - матрацы оптом
  • Норвежский Ламинин от д-ра Эскеланда http://1541.ru в 4 раза Дешевле, чем американский Laminine LPGN. Skype evg7773 Viber +380976131437 Buy The Norwegian LAMININE are 4 times more affordable http://www.getyourboomback.com/#_l_2ps as Laminine by LPGN. Реклама в Интернете. Поисковая оптимизация....

Счетчики