Arsip: Mengfungsikan Mouse Wheel pada Preview QuickReport


by Tbawor in Articles more 13 years ago 3904
MouseWheel(Mouse beroda) merupakan Perangkat Input yang sudah menjadi standar perangkat komputer sekarang ini. Surfing internet dengan MouseWheel akan lebih mudah dan menyenagkan terutama jika ditemukan dokumen-dokumen yang banyak dan panjang. Demikian halnya dengan aplikasi komputer lainnya, pencarian data pada sebuah daftar record yang panjang akan semakin mudah dengan bantuan device ini. Sayangnya tidak semua aplikasi yang dibuat mendukung penggunaan perangkat MouseWheel ini. Juga pada Quickreport Preview, fungsi MouseWheel tidak bisa berjalan dengan semestinya.

Pada aplikasi yang dibuat dengan Delphi terdapat banyak komponen data aware yang masih belum sepenuhnya memanfaatkannya. Seperti TDBGrid, TListBox, TScrollbox dan lainnya. Mungkin sudah banyak artikel yang membahas tentang penyempurnaan fungsi Scrooling MouseWheel ini, namun fungsi berikut ini adalah benar-benar berbeda.

Procedure Message ini selain mengaktifkan fungsi kontrol pada komponen-komponen TWinControl di atas, yang terletak di Windows utama juga bisa mengaktifkan kontrol pada Form anak atau pada form yang dihasilkan dari form induk. Sekarang anda bisa mengaktifkan kontrol Scrolling Page dengan MouseWheel pada Preview QuickReport Standard (TQuickrep.Preview) dengan menggunakan Procedure berikut ini.

Langkah-langkahnya :



1. Masukan komponen application event (Pallete Additional) pada project Form.

2. Double klik pada event OnMessage

3. Ketikan kode berikut ini (Copy-Paste juga Boleh...)


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
i: SmallInt;
pt : Tpoint;
begin
GetCursorPos(pt); // Fungsi utk mendapatkan posisi kursor
if Msg.message = WM_MOUSEWHEEL then // Message ketika WheelMouse di gulung
begin
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then // jika digulung ke atas
// Fungsi untuk mengirimkan Message pada Object di bawah kursor
SendMessage(WindowFromPoint(pt),WM_VSCROLL,SB_LINEUP,0)
else // jika digulung ke bawah
SendMessage(WindowFromPoint(pt),WM_VSCROLL,SB_LINEDOWN,0);
Handled := False;
end;
end;

Syntax Highlighted with https://pascal-id.org/syntax




Sekarang silakan anda panggil procedure Preview Report Anda (Misal: Quickrep1.Preview)

Jika kode program yang anda ketikan benar maka sekarang Anda bisa menggulung Preview QuickReport dengan bantuan MouseWheel.

Walaupun belum pernah mencoba, sepertinya procedure ini berfungsi pada semua kontrol Preview Standar spt RaveReport,Synedit Preview dll dan tentunya juga komponen turunan dari kelas TControl. CMIIW :)



// TBawor ©2007 :: Purwokerto

// Coding With Delphi 6.0 Enterprise diilhami dari artikel2 Delphi-id.org dan TipsExplorer 2007

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