Salah satu komponen pada Delphi yang sering digunakan adalah
komponen ‘Edit’, dimana komponen ini digunakan sebagai media input berupa text
atau tulisan.Dalam
penggunaan komponen ini biasanya kita mendapatkan kendala jika kita menggunakan
beberapa komponen edit untuk input data, misalnya input biodata yang berisi
nama , alamat, hobi,dan lain lain dimana kita harus menggunakan beberapa
komponen ‘Edit’ . Masalah yang timbul adalah pada saat kita ingin pindah ke
komponen Edit berikutnya, Karena Kebiasaan kita saat ingin pindah ke baris
berikutnya adalah menggunakan tombol Enter, walaupun secara default sistem
operasi windows sudah menyediakan tombol TAB untuk berpindah kekomponen
selanjutnya
Untuk yang sudah terbiasa dengan
tombol TAB, hal ini tidak menjadi masalah, naah untuk yang biasa menggunakan
tombol Enter tentu saja ini menjadi suatu kesulitan tersendiri. Untuk itu
disini saya mencoba memberikan sedikit tips agar kita bisa memfungsikan tombol
Enter pada komponen Edit.
Caranya adalah memanfaatkan Even
OnKeyDown pada Komponen Edit tersebut, jadi pada Even OnKeyDown kita
definisikan kalau user menekan tombol Enter maka kursor akan pindah ke Komponen
Edit Berikutnya, Salah satu cara yang paling sederhana adalah menggunakan
Properti SetFocus ( Cara ini masih ada kelemahannya namun disini saya berikan
contohnya untuk pemahaman saja ) dan berikutnya saya juga akan berikan cara
yang lebih efektif.
Perhatikan Contoh Berikut:
Ketikan kode ini pada Even
OnKeyDown
if Key=VK_Return then
Edit2.SetFocus;
VK_Return adalah Tombol Enter,
artinya Jika User Menekan Tombol Enter padasaat berada di Komponen Edit1 maka
kursor akan pindah ke Komponen Edit2 (
Edit2.setfocus )
Cara ini tidak efektif jika kita
menggunakan banyak komponen edit, karena kita harus selalu mendefinisikan
tombol Edit berikutnya yang kita setFocus, Berikut adalah cara yang lebih
efektif lagi,
Masukan kode berikut pada Even
OnKeyDown
if (key =VK_UP) then
perform(WM_NEXTDLGCTL,1,0);
if (key =VK_RETURN) or (key =VK_DOWN) then perform(WM_NEXTDLGCTL,0,0);
VK_UP adalah tombol Panah KeAtas
perform(WM_NEXTDLGCTL,1,0);
adalah perintah untuk memindahkan kursor ke komponen diatasnya ( setfocus ke
Komponen yang ada diatasnya / Sebelumnya )
VK_Down adalah Tombol Panah Ke
Bawah
VK_Return adalah Tombol Enter
perform(WM_NEXTDLGCTL,0,0);
adalah perintah untuk memindahkan kursor ke komponen dibawahnya
setfocus ke komponen selanjutnya.
Jadi dengan cara ini, jika kita
menggunakan banyak komponen Edit, maka kita tidak perlu mendefinisakn focus
pada setiap komponen, tetapi cukup hanya pada satu komponen saja, kemudian
komponen yang lainnya mengikuti Even OnKeyDown dari Komponen Edit yang pertama
Selamat Mencoba
Ok..keep posting
ReplyDeletemau nanya. apakah kode ini disimpan pada setiap Tedit,?
ReplyDeletetidak adakah error dstu...?
Tidak perlu di buat di setiap Tedit, cukup di satu Tedit saja,
Deleteuntuk Tedit yang lainnya cukup kita atur dari even on KeyDownnya, diarahkan ke Tedit yang sudah kita isikan kode kode ini,
setelah itu kita atur Tab Ordernya agar urutannya sesuai dengan keinginan kita
kalo saja dari awal dijelaskan, mungkin tak akan keluar pertanyaan seperti ini.....
DeleteOKE. it's work. for the best explaining.
menghemat pengetikan set focus.
thank you
sebenarnya sudah dijelaskan pada bagian akhir postingan :
Delete" Jadi dengan cara ini, jika kita menggunakan banyak komponen Edit, maka kita tidak perlu mendefinisakn focus pada setiap komponen, tetapi cukup hanya pada satu komponen saja, kemudian komponen yang lainnya mengikuti Even OnKeyDown dari Komponen Edit yang pertama"
Cara ngarahin ke tedit yg sdh kita bikin gmana caranya gan..
DeleteCara ngarahin ke tedit yg sdh kita bikin gmana caranya gan..
Deletebutton simpan seteleh di edit gimaa?
ReplyDeletekalo tanpa tekan enter dan tab bisa nggak? seperti pada pengisian serial number, kursor akan pindah otomatis setelah jumlah karakter yang diketikan terpenuhi.. mohon pencerahannya.. makasih
ReplyDeleteSiiipp....tiipsnya sangat membantu terima kasih...
ReplyDeleteThis comment has been removed by the author.
ReplyDeletemau nanya, pada perform(WM_NEXTDLGCTL,0,0) 0,0 nya itu untuk apa ya? kok satunya 1,0?
ReplyDeleteterima kasih...
Tombol Enter Untuk Lanjut Pada Komponen Edit - Aku Cinta Delphi >>>>> Download Now
ReplyDelete>>>>> Download Full
Tombol Enter Untuk Lanjut Pada Komponen Edit - Aku Cinta Delphi >>>>> Download LINK
>>>>> Download Now
Tombol Enter Untuk Lanjut Pada Komponen Edit - Aku Cinta Delphi >>>>> Download Full
>>>>> Download LINK