Вниз
Скачать: 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.008 c
2-1264136473
Дмитрий С
2010-01-22 08:01
2010.03.28
Регистр букв в AutoComplete в TComboBox


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


2-1264056255
Elafor
2010-01-21 09:44
2010.03.28
СНОВА INSERT


1-1245677150
Дмитрий Белькевич
2009-06-22 17:25
2010.03.28
Возможно ли поменять resourcestring в рантайме?


15-1263112641
Nic
2010-01-10 11:37
2010.03.28
Соединение из Delphi MSSQL Server через RDP. Как?




   Наверх