Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизGetWindowRect; Скриншот максимизированного окна Найти похожие ветки
← →
Lexi (2009-03-31 13:27) [0]Требуется сохранить скриншот максимизированного окна.
Faq-и, в частности http://delphisite.ru/faq/poluchenie-izobrazheniya-ekrana я читал, но там не учитывается, что у максимизированного окна нет бордюров, а GetWindowRect выдает размер вместе с ними (top, left = -4), в результате чего на скриншот попадает лишнее.
Существует ли какое-то стандартное решение этого вопроса?
← →
Lexi (2009-03-31 14:46) [1]Пока сделал так, но неужели нет лучшего решения...
Width := Rect.Right - Rect.Left;
Height := Rect.Bottom - Rect.Top;
if IsZoomed(AHandle) then
begin
CXS := GetSystemMetrics(SM_CXSIZEFRAME);
CYS := GetSystemMetrics(SM_CYSIZEFRAME);
Width := Width - (CXS * 2);
Height := Height - (CYS * 2);
end
else
begin
CXS := 0;
CYS := 0;
end;
fBitmap := NewDIBBitmap(Width, Height, pf32bit);
Result := BitBlt(fBitmap.Canvas.Handle, 0, 0, Width, Height, DC, CXS, CYS, SRCCOPY);
← →
DVM © (2009-04-01 00:11) [2]
> что у максимизированного окна нет бордюров,
У него есть бордюры и они находятся за краем экрана.
← →
Игорь Шевченко © (2009-04-01 00:28) [3]
> Требуется сохранить скриншот максимизированного окна.
С заголовком ?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.064 c