Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.046 c
15-1207056618
Германн
2008-04-01 17:30
2008.05.18
Забавный глюк Total Commander а


2-1208709944
yahoo
2008-04-20 20:45
2008.05.18
Написание программ в Delphi на WinApi


2-1208347238
Lady
2008-04-16 16:00
2008.05.18
Как менять ссылку на файл вWebBrowser, не залезая в код ?!


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


11-1189253517
grim
2007-09-08 16:11
2008.05.18
Скины в кол?!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский