Dear Delphiers,
Kadang-kadang kita menghendaki komponen textbox berubah warnanya ketika dia mendapat focus. Hal ini bisa saja kita lakukan dengan mengkombinasikan event OnEnter dan OnExit pada komponen textbox tersebut. OnEnter untuk merubah warna ketika mendapatkan focus dan OnExit kita pakai untuk mengembalikan warna semula. Namun hal ini bukanlah cara yang Robust. Dengan cara ini kita harus menerapkannya pada tiap komponen. Ya kalau Cuma satu Form? Bagaimana kalau pada semua form? Bisa dibayangkan bagaimana susahnya merealisasikan keinginan tersebut.
Ada cara yang lebih mudah. Yaitu dengan menggunakan komponen dari DevExpress. Di sini saya menggunakan komponen cxTextEdit. Ikutilah langkah-langkah berikut :
1. Tempatkan sebuah komponen cxEditStyleControllerStyle pada form;
2. Setting property StyleFocused sesuai Keinginan. Disini saya melakukan setting property StyleFocused seperti gambar di bawah ini
1. Kemudian pada Event OnClick dari form tuliskan baris kode berikut :
for i := 0 to ComponentCount - 1 do
begin
if Components[i] is TcxCustomTextEdit then
begin
(Components[i] as TcxCustomTextEdit).StyleFocused.StyleController := cxEditStyleController;
(Components[i] as TcxCustomTextEdit).Style.StyleController := cxEditStyleController;
(Components[i] as TcxCustomTextEdit).StyleDisabled.StyleController := cxEditStyleController;
end;
end;
Pada baris kode di atas, program akan mengecek semua komponen yang ada pada form. Jika komponen tersebut merupakan komponen TcxCustomTextEdit (demikian juga komponen-komponen turunannya) maka program akan mengeset StyleController pada saat focus,normal, dan disable hasilnya bisa dilihat digambar berikut :
5 comments:
Pake DevExpress ya mas Bagus.
Komponennya memang keren abis!
@Widodo : Iya mas. Ada pengalaman pake DevExpress?
Pake express quantum grid. :)
pake yg biasa jg bisa bro....
onenter
edit1.color:=clgreen
onexit
edit1.color:=clmenu
hmmm kalo pake kayak gitu berarti harus nulis di tiap2 komponen ya?
Post a Comment