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

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



Память: 0.46 MB
Время: 0.022 c
14-1091715614
MacroDenS
2004-08-05 18:20
2004.08.22
Кто нибудь может объяснить????


3-1090997926
mixam
2004-07-28 10:58
2004.08.22
еще вопрос по работе с вайлами, только *.dbf


3-1090847897
VadimKV
2004-07-26 17:18
2004.08.22
Присвоение значения переменой в ХП (FB1.5)


14-1091301524
Sir John
2004-07-31 23:18
2004.08.22
Вильямс завалил Тайсона


3-1091209848
Артём
2004-07-30 21:50
2004.08.22
Создание вторичных индексов




   Наверх