Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.28;
Скачать: CL | DM;

Вниз

При копировании экрана ее удаётся захватить окно со свойством 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-1237289266
Yurikon
2009-03-17 14:27
2010.03.28
Количество записей в TADOTable


3-1237104687
joomler
2009-03-15 11:11
2010.03.28
Как сделать поиск по нескольким полям в базе?


2-1264694075
Jimmy
2010-01-28 18:54
2010.03.28
Задержка


2-1264342999
Делфиец
2010-01-24 17:23
2010.03.28
Как разом очистить всю таблицу


2-1264495718
Цукор5
2010-01-26 11:48
2010.03.28
Утечка памяти