Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];

Вниз

При копировании экрана ее удаётся захватить окно со свойством For   Найти похожие ветки 

 
dmitry_12_08_73 ©   (2009-06-07 18:10) [0]

Как скопировать окно со свойством FormStyle = fsStayOnTop при копировании экрана функцией
BitBlt (bm.Canvas.Handle, 0, 0, Width, Height, WinDC, Left, Top, SRCCOPY)?
Пример нормальной работы: нажатие клавиши PrtScr копирует это окно.
Спасибо!


 
Palladin ©   (2009-06-07 18:13) [1]

А что, не должен?


 
Юрий Зотов ©   (2009-06-07 18:33) [2]

Все прекрасно копируется:

procedure TForm1.FormDblClick(Sender: TObject);
begin
 FormStyle := fsStayOnTop;
 BitBlt(Canvas.Handle, 0, 0, Width, Height, GetWindowDC(Handle), 0, 0, SRCCOPY)  
end;

Ищите ошибку.


 
Юрий Зотов ©   (2009-06-07 18:36) [3]

А так копируется весь экран, и тоже без пробем:

procedure TForm1.FormDblClick(Sender: TObject);
begin
FormStyle := fsStayOnTop;
BitBlt(Canvas.Handle, 0, 0, Width, Height, GetWindowDC(GetDesktopWindow), 0, 0, SRCCOPY)  
end;


 
Ins ©   (2009-06-09 11:48) [4]


> BitBlt(Canvas.Handle, 0, 0, Width, Height, GetWindowDC(GetDesktopWindow),
>  0, 0, SRCCOPY)


Не нужно так делать, результат функции GetWindowDC еще и освобождать нужно с помощью ReleaseDC. Так что правильнее будет сначала получить в переменной дескриптор контекста устройства, потом BitBlt, а потом освободить этот контекст.


 
dmitry_12_08_73 ©   (2009-06-10 22:57) [5]

спасибо всем за ответы, буду пробовать


 
dmitry_12_08_73 ©   (2009-06-22 23:20) [6]

Я разобрался точнее: окно не копируется BitBlt, если AlphaBlend = true. А как его скопировать в этом случае?


 
axis_of_evil ©   (2009-06-25 12:52) [7]

возможно скопировать часть десктопа, занимаемую этим окном


 
Eraser ©   (2009-06-26 17:55) [8]

> [6] dmitry_12_08_73 ©   (22.06.09 23:20)

CAPTUREBLT



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
2-1264603718
d.l.
2010-01-27 17:48
2010.03.28
try..finally


15-1263197619
Неважно
2010-01-11 11:13
2010.03.28
Delphi2010


15-1263047943
AlexDan
2010-01-09 17:39
2010.03.28
Kepler ищет планеты..


1-1246429266
Василий Иванов_22
2009-07-01 10:21
2010.03.28
меню в ресурсе


2-1264024785
novichek
2010-01-21 00:59
2010.03.28
Dword в Record





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