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

Вниз

Не фоткаються полупрозрачные окна   Найти похожие ветки 

 
i-s-v ©   (2004-08-05 17:40) [0]

Вот процедура для снятия снимка рабочего стола. Фоткается прямоугольная область ARect и заносится в Bit. Все вроде просто. Но вот проблема: не фоткаются полупрозрачные окна (AlphaValue). Разные модификации этой процедуры (вместо BitBlt использовать StretchBlt или DesktopCanvas.CopyRect) приводят к тому же результату. Что делать?

procedure CaptureScreenRect(Bit: TBitmap; ARect: TRect);
var
 ScreenDC: HDC;
begin

 with Bit, ARect do
 begin
   Width := Right-Left;
   Height := Bottom-Top;
   Palette := GetSystemPalette;
   ScreenDC := GetWindowDC(GetDeskTopWindow);
   try
     BitBlt(Canvas.Handle, 0, 0, Width, Height,
            ScreenDC, Left, Top, SRCCOPY);
   finally
     ReleaseDC(0, ScreenDC);
   end;
   Palette := GetSystemPalette;
 end;
end;

З.Ы. При нажатии на кнопку PrintScreen все нормально фоткается. Как можно в проге реализовать то, что происходит при нажатии на нее?

Ответы присылайте, пожалуйста, мне на e-mail.


 
Anatoly Podgoretsky ©   (2004-08-05 18:48) [1]

Что случилось с твоим языком, почему так коверкаешь?


 
TUser ©   (2004-08-05 19:19) [2]

Буквально недавно видел. То ли на форуме, то ли в кн. Ф.Юаня. По-моему, все-таки на форму, так что ищи.


 
AndersoNRules   (2004-08-05 21:28) [3]

a kak nascheot najati PrintScreen programno,a potom iz buffera zapisati kuda nado?


 
i-s-v ©   (2004-08-06 18:02) [4]

I>
> Anatoly Podgoretsky

Не знаю. Писал по-скорому...

> AndersoNRules

Наверное так и прийдется сделать...

> TUser

Я этот вопрос уже задавал, но ничего толкового и не увидел... В этот раз, вижу, то же самое...



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

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
3-1091083229
WondeRu
2004-07-29 10:40
2004.08.22
SQL. Как использовать процедуру для WHERE


1-1091691282
СержК
2004-08-05 11:34
2004.08.22
Можно ли вставить в свой проект фрагмент кода на VB


1-1091688013
serg128
2004-08-05 10:40
2004.08.22
Как скопировать в буфер всю строку из Grid?


4-1089629598
Alexiy
2004-07-12 14:53
2004.08.22
Корявая GetOpenFileName


14-1091449996
Новичек
2004-08-02 16:33
2004.08.22
Помогите пожалуйста разобраться.