Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
15-1262879478
Kerk
2010-01-07 18:51
2010.03.28
Проект минздравсоцразвития РФ


1-1245208033
uniken1
2009-06-17 07:07
2010.03.28
Смена обоев рабочего стола


15-1263202280
Игорь
2010-01-11 12:31
2010.03.28
Драйвер под Windows 7


3-1220515408
DVM
2008-09-04 12:03
2010.03.28
ID последней добавленной записи


3-1237159280
VoznikVopros
2009-03-16 02:21
2010.03.28
Как поместить формы, которые взаимодействуют с БД, в DLL?




   Наверх