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

Вниз

скопировать изображение окна   Найти похожие ветки 

 
Rasputin   (2008-04-21 15:38) [0]

кто знает как скопировать изображение чужого окна или нужную часть, если само окно находится под другим, т.е. на экране не отображается


 
Игорь Шевченко ©   (2008-04-21 15:53) [1]

Послать окну сообщение WM_PRINTCLIENT или WM_PRINT


 
Rasputin   (2008-04-21 17:46) [2]

свое окно копируется, а вот чужое почему-то не получается, вот кусок кода. Объясните на этом примере. Спасибо!

h:=FindWindow(nil,"Form155");
GetWindowRect(h,rMain);

bm1:=TBitMap.Create;
bm1.Width:=rMain.Right;
bm1Height:=rMain.Bottom;
 PD.Parent:=h;
 bm1.Canvas.Lock;
   PD.DC:=bm1.Canvas.Handle;
   SendMessage(h, WM_ERASEBKGND, integer(PD.DC), 0);
   SendMessage(h, WM_PAINT, integer(PD.DC), 0);
 bm1.Canvas.Unlock;
form1.Canvas.Draw(0,0,bm1);


 
Игорь Шевченко ©   (2008-04-21 17:48) [3]


> Послать окну сообщение WM_PRINTCLIENT или WM_PRINT


 
Rasputin   (2008-04-21 17:57) [4]


> Игорь Шевченко ©   (21.04.08 17:48) [3]
>
>
> > Послать окну сообщение WM_PRINTCLIENT или WM_PRINT

пробывал послать вместо
SendMessage(h, WM_ERASEBKGND, integer(PD.DC), 0);
SendMessage(h, WM_PAINT, integer(PD.DC), 0);
PRINTCLIENT
SendMessage(h, WM_PRINTCLIENT, integer(PD.DC), PRF_NONCLIENT);

результат белый битмар при посылке в чужое окно


 
Игорь Шевченко ©   (2008-04-21 18:04) [5]


> SendMessage(h, WM_PRINTCLIENT, integer(PD.DC), PRF_NONCLIENT);


ты просишь окно распечать его неклиентскую область сообщением печати клиентской области.

вместо PRF_NONCLIENT поставь PRF_CLIENT or PRF_CHILDREN


 
Rasputin   (2008-04-21 18:17) [6]


> Игорь Шевченко ©

З.Ы. Я балдею)))
не реагирует ни на что, результат 0

там в [2] точно правильно все?
хендл <>0 чужое окно на другие сообщения например gettext реагирует

вот еще дополнение
type
PPaintData = ^TPaintData;
TPaintData = record
  Parent: HWND;
  DC: HDC;
end;


 
Rasputin   (2008-04-21 20:48) [7]

так что я не так делаю и что  делать?
как скопировать невидимое чужое окно что б наверняка?
WM_PAINT, PRINTCLIENT, WM_PRINTCLIENT не работают или я что-то не так делаю!
прошу помощи, ссылками, кодом, советами!
заранее, спасибо!



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
4-1189112766
Rubi
2007-09-07 01:06
2008.05.18
Отправка 1 байта через com-порт


2-1208591575
IOrist
2008-04-19 11:52
2008.05.18
Триггер в Ms SQL 2005


15-1207063416
TStas
2008-04-01 19:23
2008.05.18
Как научиться писать СОМ интерфейсы?


3-1197115789
Gunek
2007-12-08 15:09
2008.05.18
Ошибка при использовании dbchart


2-1208669820
stasxxx
2008-04-20 09:37
2008.05.18
Несколько вопросов