Arsip: click-through effect?

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. ;)

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 :)
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? ;)

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
reply |
Report Obsolete
Last Articles
- Project Group dalam Lazarus
- FastPlaz Database Explorer
- Release: FastPlaz Super Mom v0.12.22
- PascalClass #3: Web Development with Free Pascal
- Makna Pascal di Pascal Indonesia
- Kulgram : Instalasi Lazarus di Perangkat Berbasis ARM
- PascalClass #1: Analisa Database dan Machine Learning
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
- Mengenal OXYGENE – Pascal For .NET
- PascalTalk #5: UX: Research, Design and Engineer
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 months ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 months ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 months ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 1 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 8 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 8 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 8 years ago
Random Topic
- sms gateway
by red_code in Hal umum tentang Pascal Indonesia more 14 years ago - Salam Kenal dari nyubie baru
by SnipSnip in OOT more 15 years ago - Delphi - id makin mantap
by EkoIndri in Kritik & Saran more 14 years ago - cetak faktur ukuran 1/2 folio
by tupay in Reporting more 12 years ago - tanya date
by brodien in Tip n Trik Pemrograman more 15 years ago - kenapa harus delphi5??
by bad2001 in Tip n Trik Pemrograman more 13 years ago - Bingung ',' ClientDataSet..?
by coacoac in Tip n Trik Pemrograman more 13 years ago - Pencarian dengan DateTimePicker
by meehelmi in Reporting more 13 years ago - Mohon Solidaritasnya Untuk Sesama Programmer Delphi
by MrMixer in Kritik & Saran more 13 years ago - error insert.... in Ms Acces
by grounders in Hal umum tentang Pascal Indonesia more 15 years ago