Главная страница
    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
2-1208281426
Аврам
2008-04-15 21:43
2008.05.18
потоки


2-1208496028
kalexi
2008-04-18 09:20
2008.05.18
WM_CTLCOLORBTN как обрабатывать?


2-1208711955
WhiteBerkut
2008-04-20 21:19
2008.05.18
BDE


2-1208344703
LexXL
2008-04-16 15:18
2008.05.18
WebBrowser


2-1208434018
slashka
2008-04-17 16:06
2008.05.18
Многострочный TListView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский