Arsip: Tanya tentang komponen Image

more 11 years ago
bonny_rayfoxs
Para suhu...
mau tanya nih..
cara bkin event saat mouse diarahin ke suatu image gmn ya?
gw uda cb bkin di event OnMouseMove... saat arahin mouse ke image memang ada event, tp saat mouse di pindahkan dr image event nya gmn y biar bisa balik ke semula?

more 11 years ago
DelphiExpert
Balik ke semula gimana maksudnya om? Coba dijelaskan dengan lebih jelas :o

more 11 years ago
bonny_rayfoxs
Misal nya begini mas..
saya isi picture ke 1 Timage.. trus saya mau bkin
Klo kita arahin pointer mouse ke image, picture dr image ny brubah..
trus klo pointer di pindahin dari Timage, picture nya kmbali sprti awal
kira2 gmn ya?

more 11 years ago
Goen
@bonny_rayfoxs: Misal nya begini mas.. saya isi picture ke 1 Timage.. trus saya mau bkin Klo kita arahin pointer mouse ke image, picture dr image ny brubah.. trus klo pointer di pindahin dari Timage, picture nya kmbali sprti awal kira2 gmn ya?Bro, Pakai event OnMouseEnter dan OnMouseLeave saja.

more 11 years ago
bonny_rayfoxs
@Goen:Gw cari di properties gak ada mas event OnMouseEnter.. perlu deklarasi sndri atau gmn ya? Udah tanya tmn sana sini pada bingung denger OnMouseEnter... minta contoh nya donk mas@bonny_rayfoxs: Misal nya begini mas.. saya isi picture ke 1 Timage.. trus saya mau bkin Klo kita arahin pointer mouse ke image, picture dr image ny brubah.. trus klo pointer di pindahin dari Timage, picture nya kmbali sprti awal kira2 gmn ya?Bro, Pakai event OnMouseEnter dan OnMouseLeave saja.

more 11 years ago
luckynvic
kalo komponen standart image delphi 7 memang nggak ada event onMouseEnter dan onMouseLeave, tapi Delphi 2009 ada gan (nggak tau kalo versi yg lain, harusnya makin baru versinya tetap ada. :) )
kalo agan pake delphi 7, bisa pake komponen image dari komponen tambahan. kalo nggak mau bisa akal2 gan! :wink: buat saja label di atas sebesar image, set transparant=true, trus event onMouseEnter dan onMouseLeave dipake untuk rubah gambarnya..

more 11 years ago
Goen
@bonny_rayfoxs:Sorry Bro, Ane kira ada event OnMouseEnter & OnMouseLeave di TImage ente. Mungkin seperti Bro Luckynvic bilang, ente pake versi Delphi 7 ke bawah. Berhubung ane pake Delphi XE2, ane gak bisa reproduce TImage yang gak ada OnMouseEnter & OnMouseLeave. Tapi, ane coba cari komponen visual yang gak ada OnMouseEnter & OnMouseLeave dan nemu TRadioGroup. Ane coba tambahin fitur OnMouseEnter & OnMouseLeave ke dalamnya. Gampang, kok. Ente tinggal copy aja dari TControl:@Goen: [quote:8464fa06f6="bonny_rayfoxs"]Misal nya begini mas.. saya isi picture ke 1 Timage.. trus saya mau bkin Klo kita arahin pointer mouse ke image, picture dr image ny brubah.. trus klo pointer di pindahin dari Timage, picture nya kmbali sprti awal kira2 gmn ya?Bro, Pakai event OnMouseEnter dan OnMouseLeave saja.[/quote:8464fa06f6] Gw cari di properties gak ada mas event OnMouseEnter.. perlu deklarasi sndri atau gmn ya? Udah tanya tmn sana sini pada bingung denger OnMouseEnter... minta contoh nya donk mas
TControl = class(TComponent)
private
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
.
.
.
end;
Buat class baru turunan TRadioGroup (dalam kasus ente berarti, TImage):
interface
uses
ExtCtrls, ...;
type
TXRadioGroup = class(TRadioGroup)
private
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
end;
implementation
procedure TXRadioGroup.CMMouseEnter(var Message: TMessage);
begin
Caption := 'Mouse Enter Radio Group!';
end;
procedure TXRadioGroup.CMMouseLeave(var Message: TMessage);
begin
Caption := 'Mouse Leave Radio Group!';
end;
end.
Masalahnya, ente gak bisa create component ini secara design-time lagi. Kudu run-time. Kalau mau bisa design-time, ente buat component baru dan install ke component pallete. Terserah ente mau gimana. Tapi, ane lebih prefer create saat run-time, biar source codenya lebih mobile (gampang dibawa kemana-kemana tanpa harus install component tambahan):
unit Unit1;
interface
uses
ExtCtrls,...;
type
TXRadioGroup = class(TRadioGroup)
private
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TXRadioGroup }
procedure TXRadioGroup.CMMouseEnter(var Message: TMessage);
begin
Caption := 'Mouse Enter Radio Group!';
end;
procedure TXRadioGroup.CMMouseLeave(var Message: TMessage);
begin
Caption := 'Mouse Leave Radio Group!';
end;
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
with TXRadioGroup.Create(Self) do
begin
Left := 10;
Top := 10;
Parent := Self;
end;
end;
end.
HTH
more 11 years ago
Goen
Tambahan,
Tolong dicek kalau TControl di Delphi ente ada protected property OnMouseEnter & OnMouseLeave. Kalau ada, ente gak perlu bikin message procedure baru buat nangkep Mouse saat masuk dan keluar. Karena, sudah dimiliki sama parentnya, TControl. Ente cukup override ke public scope aja biar bisa di assign sama parentnya (dalam hal ini, TForm).
Ini lebih OOP, ketimbang bikin message procedure baru.
Dari source di atas, ane modifikasi sedikit:
unit Unit1;
interface
uses
Extctrls, ...;
type
// Modifikasi Pertama
TXRadioGroup = class(TRadioGroup)
private
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
end;
// Modifikasi Kedua
TX2RadioGroup = class(TRadioGroup)
public
property OnMouseEnter;
property OnMouseLeave;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure RadioGroupMouseEnter(Sender: TObject);
procedure RadioGroupMouseLeave(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TXRadioGroup }
procedure TXRadioGroup.CMMouseEnter(var Message: TMessage);
begin
Caption := 'Mouse Enter Radio Group!';
end;
procedure TXRadioGroup.CMMouseLeave(var Message: TMessage);
begin
Caption := 'Mouse Leave Radio Group!';
end;
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
with TXRadioGroup.Create(Self) do
begin
Left := 10;
Top := 10;
Parent := Self;
end;
with TX2RadioGroup.Create(Self) do
begin
Left := 100;
Top := 100;
Parent := Self;
OnMouseEnter := RadioGroupMouseEnter;
OnMouseLeave := RadioGroupMouseLeave;
end;
end;
procedure TForm1.RadioGroupMouseEnter(Sender: TObject);
begin
TRadioGroup(Sender).Caption := 'Mouse Enter!';
end;
procedure TForm1.RadioGroupMouseLeave(Sender: TObject);
begin
TRadioGroup(Sender).Caption := 'Mouse Leave!';
end;
end.
HTHmore ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 2 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 3 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 10 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 10 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 10 years ago
Random Topic
- Parser & Interpreter, ada yg pernah bikin?
by DelphiExpert in Tip n Trik Pemrograman more 17 years ago - Baru bljr delphi.....kenalan
by danzfx in Delphi.NET more 17 years ago - Mohon Tips Dari Master Delphi
by supermuam in Hal umum tentang Pascal Indonesia more 12 years ago - Format Date tanpa merubah regiional setting
by delphi_warrior in Tip n Trik Pemrograman more 14 years ago - [tanya] delete data di dbgrid
by serif in Tutorial & Community Project more 11 years ago - Tanya untuk buat titik di ribuan
by lumpurpanas in Hal umum tentang Pascal Indonesia more 16 years ago - COMBOBOX baca SQL Gimana caranya..??
by D-Nai in MySQL more 16 years ago - caranya buka kompresi file MP3
by suncen in Tip n Trik Pemrograman more 15 years ago - menampilkan file float/double dengan pemisah ribuan pada kom
by arif_amm in Tip n Trik Pemrograman more 13 years ago - Sorting pada Stringgrid????
by akudana in Hal umum tentang Pascal Indonesia more 13 years ago