Arsip: click-through effect?
more 18 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 18 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 18 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 18 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
AI Forward
🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 13 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 13 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 13 years ago
Random Topic
- menjumlahkan suatu field
by goodday in Enginering more 19 years ago - [ask] untuk login form
by ymulia in Network, Files, I/O & System more 18 years ago - Cara hide childmdi ??
by purnomo2007 in Hal umum tentang Pascal Indonesia more 15 years ago - cara instal suipack di delphi gimana?
by 113050251 in Tip n Trik Pemrograman more 17 years ago - NEW: RSS Delphi Indonesia (forum)
by LuriDarmawan in Hal umum tentang Pascal Indonesia more 18 years ago - Dimana fasilitas untuk edit topik?
by andipurwito in OOT more 17 years ago - Dimana Cari Komponen Crystal Report 8.5 untuk Delphi 7
by koang44 in Enginering more 18 years ago - [ask]Merubah font secara menyeluruh dalam aplikasi
by dr4cul453xy in Network, Files, I/O & System more 19 years ago - indy label
by vandy in Tutorial & Community Project more 18 years ago - Komponen Stringgrid/Listview multi select
by supermuam in Tip n Trik Pemrograman more 16 years ago