Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Вниз
Не фоткаються полупрозрачные окна Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c