Главная страница
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.025 c
2-1208498108
webSQLNeederr
2008-04-18 09:55
2008.05.18
Как увидеть из подфункции переменную из высшей функции?


2-1208339540
DFT
2008-04-16 13:52
2008.05.18
DoMouseWheel


2-1208333700
webpauk
2008-04-16 12:15
2008.05.18
MdiChild (Close, Count)


2-1208858129
AlexAA
2008-04-22 13:55
2008.05.18
Открыть файл .exe


15-1207576557
TStas
2008-04-07 17:55
2008.05.18
Написал обновлялку