PDA

View Full Version : پنجره های فقط نمایشی (بر اثر)



MohsenB
یک شنبه 17 خرداد 1388, 20:48 عصر
کسی میدونه چطور میشه پنجره های بی اثری رو ساخت که فعالیت موس رو به پشت پنجره منتقل کنه ؟

مثل نوار پیام جت اودیو که در هنگام تغییر آهنگ یک پیام در بالای صفحه نمایش میده که کلیک موس روش تاثیری نداره فقط عکس اون پنجره روی صفحه افتاده .

Zahed2008
دوشنبه 18 خرداد 1388, 09:29 صبح
سلام دوست عزیز، من فکر می کنم که اون پنجره نیست. بلکه فقط با گرفتن هندل دسکتاپ روی اون تصویر مورد نظر رو با تکنولوژی ترانسپارانت کردن تصویر زمینه کشیده.

MohsenB
سه شنبه 26 خرداد 1388, 09:58 صبح
شاید

میدونید چطوری

میشه بگین

ممنون

narsic
چهارشنبه 27 خرداد 1388, 12:18 عصر
با سلام
از canv استفاده کنید .
موفق باشید

Zahed2008
پنج شنبه 28 خرداد 1388, 13:27 عصر
سلام، اين يه نمونه كد كه از كد دوستان گرفتم و يه خورده دستكاريش كردم(براي ترانسپارانت بايد پيكسل به پيكسل زمينه و تصوير مورد نظرت روي Image1 رو گرقته تقسيم بر 2 كني):

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Visible := False;
Sleep(300); // some delay.
ScreenShot(Image1.Picture.BitMap);
Form1.Visible := True;
end;

procedure ScreenShot(Bild: TBitMap);
var
c: TCanvas;
r1,r2: TRect;
begin
c := TCanvas.Create;
c.Handle := GetWindowDC(GetDesktopWindow);
try
r1 := Rect(0, 0, Bild.Width, Bild.Height);
r2 := Rect(350, 0, Bild.Width + 350, Bild.Height);
c.CopyRect(r2, Bild.Canvas , r1);

finally
ReleaseDC(0, c.Handle);
c.Free;
end;
end;

MohsenB
پنج شنبه 02 مهر 1388, 10:53 صبح
نه این جواب من نبود
یه مثال دیگه میزنم:
به سایه ی پنجره های ویستا دقت کنید. نه انتخاب میشن نه پشتشون دیده نمیشه.