Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.067 c
15-1272473800
NailMan
2010-04-28 20:56
2010.08.27
Нужен нормальный юрист, проверенный в Москве. Кто знает?


2-1266753754
Neyladel
2010-02-21 15:02
2010.08.27
Зависает Форма


2-1271223708
Дмитрий С
2010-04-14 09:41
2010.08.27
Как вернуть Скролл на прежнее место.


15-1268773367
Nic
2010-03-17 00:02
2010.08.27
НДС - непонятно немного


2-1269587670
Свободный художник
2010-03-26 10:14
2010.08.27
Захват окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский