Arsip: click-through effect?

 
user image
more 13 years ago

simba

Disini ada yg pake ClocX (http://www.clocx.net) ? Ada yg tau gmn trik click-through yg dipake di aplikasi jam analog tsb? Aku penasaran je. Udah googling gak nemu2 juga trik-nya. Udah nyoba trial n error beberapa fungsi winAPI terkait transparansi (alpha-blend) hasilnya cuman efek see-through (tembus pandang). Efek click-through (tembus klik) masih gagal juga. Logika yg kebayang olehku adalah mengambil even mouse dan meneruskannya ke window yg paling depan. Ini masih bisa dicoba, dan bisa. Tapi, efek click-through di ClocX lebih dari sekedar meneruskan even klik. Bentuk mouse dan hint mouse juga tampil sesuai dgn window yg berada di belakangnya, walaupun window tsb bukan window yg paling depan. Jadi, seolah-olah form ClocX tidak ada, walaupun secara visual dia muncul. Anehnya, form ClocX ini masih bisa menerima mouse move event (onEnter dan onLeave) krn jika mouse berada di atasnya, dia bisa mengubah setting transparansi form miliknya sendiri. Asik juga efeknya. :D Sementara aku masih nerusin usaha googling dan upgrade ilmu winAPI, barangkali ada rekan yg pernah tau gmn bikin efek click-through? Tolong di-share dong. Thanks sebelumnya. PS: Kalo mau tau seperti apa efek click-through sebenarnya, silakan install aplikasi ClocX dan aktifkan efek click-through. Aplikasinya ringan dan kecil kok, juga bermanfaat. ;)
user image
more 13 years ago

cyber_hecker

whew.. emang keren sih.. tapi bener-bener ngerepotin mbikinnya. saya juga udah nyoba.. tapi saya gak bisa mbikin efek alpha-blendnya. tapi untuk efek click throughnya bisa (whew .. kabalik ama kejadian om simba huahahaha). logika yang ku gunakan.. anggap jam itu sebuah picture. dan kita membuat form dengan sesuai pada region picture. truz pada on enter form. form ini di hide diganti dengan draw picture secara manual pada desktop dengan timer, masih inget dengan yang draw text pada desktop ? nah kira-kira kayak gitu deh. (nah draw image alpha-blend gak nemu). pada saat hide form ini.. kita harus hook area mouse. jika mouse meninggalkan area yang telah kita tentukan.. tampilkan lagi form yang sudah kita hide. disini sedikit kode untuk draw image on desktop :
procedure TForm1.btn1Click(Sender: TObject);
var
  Picture: TPicture;
  Desktop: TCanvas;
  X, Y: Integer;
  z : TPoint;
begin
  // Objekte erstellen
  // create objects
  Picture := TPicture.Create;
  Desktop := TCanvas.Create;
  // Bild laden
  // load bitmap
  Picture.LoadFromFile('c:\ari.bmp');
  // Gerätekontex vom Desktop ermitteln
  // get DC of desktop
  Desktop.Handle := GetWindowDC(0);
  // Position des Bildes
  // position of bitmap
  z.x := 0;
  z.y := 0;
//  z := Form1.ClientToScreen(z);
  // Bild zeichnen
  // draw bitmap
  Desktop.Draw(z.X, z.Y, Picture.Graphic);
  // Gerätekontex freigeben
  ReleaseDC(0, Desktop.Handle);
  // Objekte freigeben
  // release objects
  Picture.Free;
  Desktop.Free;
end;
catatan : hasilnya masih kasar banget .. huahahah.. lom bisa nge hook mouse :D but.. lebih baik mberi sedikit dari pada tidak sama sekali :)
user image
more 13 years ago

simba

@CH: Gak bisa seperti itu, soalnya cara kamu harus refresh terus menerus. Jadi rada ngeblink terutama kalo kompi lagi sibuk atau pergantian window, apalagi kalo gambarnya besar. Coba perhatikan efek di ClocX itu, sama sekali gak ada refresh. Coba perhatikan lagi secara detil form-nya ClocX. Perhatikan juga gmn perubahan kursor mouse saat di atas ClocX tapi window di bawahnya mengubah bentuk kursor mouse, misal di link url browser (mouse jadi hand) atau di atas edit box (mouse jadi beam). Anyway, thanks buat masukannya. :) Tentang mouse hook dan alpha-blend sebenarnya gampang kok. Bahkan gak perlu winAPI, soalnya Delphi (D7) udah menyediakan built-in wrapper-nya. Aku nyoba pake winAPI barangkali ada opsi2 tertentu yg bisa langsung support click-through, ternyata gak ada (belum nemu). :P Object Mouse udah ada, seperti juga object Screen, tinggal pake aja. Alpha-blend juga udah jadi property standar TForm, di object inspector juga ditampilkan. :D Ayo, sapa yg bisa? ;)
user image
more 13 years ago

simba

Bah... setelah ngubek2 gugel dan windows SDK help (D7), akhirnya ketemu dan BISA! :D Perkiraanku benar, solusinya ternyata ngglethek! Cuman butuh 2 baris doang! Itupun cuman memanggil 2 fungsi winAPI! :lol: Ah, ternyata gak sesulit yg aku kira. Asem tenan jan! :P Sayangnya, efek ini hanya bisa muncul mulai windows 2k ke atas. Seperti biasa, win98 gak support. :( Tapi ini justru jadi tantangan, kalo mau ribet dan ada waktu. Buatku, solusi winAPI udah cukup lah. So, problem has been solved! At least for me. Lumayan, bisa buat materi posting di blog. :D PS: Solusi bisa dimulai dari sini... http://www.codeproject.com/vb/net/ClickThroughWindows.asp (jgn tertipu ama .Net-nya, semua itu fungsi winAPI standar, di Delphi cuman butuh 2 baris aja). :D Atau langsung aja klik gambar footer-ku untuk melihat gimana cara codingnya di Delphi. ;)
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com