Главная страница
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.011 c
2-1264752952
s_t_d
2010-01-29 11:15
2010.03.28
Последовательность, орг. переход на новую страницу


2-1264114096
Евгений Р.
2010-01-22 01:48
2010.03.28
Как изменить свойство Required поля Access


15-1263074944
Илья_
2010-01-10 01:09
2010.03.28
Игра FIFA 2010 по сети


15-1263131112
Студент Игорь
2010-01-10 16:45
2010.03.28
Помогите новичку


4-1231749793
kalexi
2009-01-12 11:43
2010.03.28
Как узнать место расоложения папки "Автозагрузка"?