Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не фоткаються полупрозрачные окна


i-s-v ©   (2004-08-05 17:40:00) 

Вот процедура для снятия снимка рабочего стола. Фоткается прямоугольная область 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.


i-s-v   (2004-08-06 18:02:00) [1]

I>
> Anatoly Podgoretsky

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

> AndersoNRules

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

> TUser

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


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

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


TUser   (2004-08-05 19:19:00) [3]

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


Anatoly Podgoretsky   (2004-08-05 18:48:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо