Saya sudah memberi sedikit dasar membuat keyboard virtual di artikel Membuat Keyboard Virtual untuk Memunculkan Angka dan Huruf dengan Delphi. Pada artikel ini, saya menambahkan kemampuan untuk membuat huruf menjadi huruf besar (huruf kapital). Dengan demikian program selengkapnya di artikel ini adalah kode program pada artikel yang terdahulu ditambah dengan tambahan kode program di artikel ini.
Pertama-tama, saya akan mendefinisikan variabel global untuk mengetahui status CapsLock dari program saya dengan sembarang nama variabel, misal. CapsLockState, bertipe boolean. Variabel ini akan saya butuhkan ketika user meng-klik tombol CapsLock buatan saya: Apakah saya meng-huruf kecil-kan (jika false), atau meng-huruf besar-kan (jika CapsLockState = true). Anda bisa meletakkan di bagian private, public atau deklarasi variabel paling atas.
Set Default variabel CapsLockState := false di bagian FormCreate (agar dieksekusi satu kali saja saat aplikasi baru pertama kali dijalankan)
Buat satu tombol sebagai Tombol CapsLock. Pada event onclick, tambahkan kode berikut:
if CapsLockState = true then
begin
SetCapsLock(false);
CapsLockState := false;
end else
begin
SetCapsLock(true);
CapsLockState := true;
end;
procedure TFormDisplay.SetCapsLock(State: boolean);
begin
if (State and ((GetKeyState(VK_CAPITAL) and 1) = 0)) or
((not State) and ((GetKeyState(VK_CAPITAL) and 1) = 1)) then
begin
keybd_event(VK_CAPITAL, $45, KEYEVENTF_EXTENDEDKEY or 0, 0);
keybd_event(VK_CAPITAL, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;
end;
Sekali lagi saya ingatkan untuk menambahkan unit Windows agar prosedur-prosedur diatas dapat digunakan di program Anda. Nah, sekarang cobalah mengetikkan huruf, setelah Anda meng-CapsLock-kan program Anda.
Mudah, kan? Selamat memrogram!!
0 comments:
Posting Komentar