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

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



Память: 0.46 MB
Время: 0.012 c
3-1197548717
kudatsky
2007-12-13 15:25
2008.05.18
Как определить количество открытых DBF-файлов ?


2-1208676738
Mag
2008-04-20 11:32
2008.05.18
Редактирование текстового файла. Замена части текста на другой.


2-1208423314
Ega23
2008-04-17 13:08
2008.05.18
STDIN и STDOUT


15-1205425151
Real
2008-03-13 19:19
2008.05.18
Странности с ShowModal


9-1170231355
akaValerius
2007-01-31 11:15
2008.05.18
Указатель на часть массива




   Наверх