Главная страница
    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.44 MB
Время: 0.071 c
2-1270827005
User
2010-04-09 19:30
2010.08.27
Можно ли записывать в папку


15-1263990046
fford
2010-01-20 15:20
2010.08.27
что меньше нагружает сервер


2-1265658323
Константин
2010-02-08 22:45
2010.08.27
Назначение процедур для динамически создаваемых контролов


4-1233489021
Vemer
2009-02-01 14:50
2010.08.27
Рисунок не хочет прикреплятся к Popup Меню.


13-1125381370
Cherrex
2005-08-30 09:56
2010.08.27
CodeDom





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский