Arsip: Tanya tentang komponen Image

more 13 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 13 years ago
DelphiExpert
Balik ke semula gimana maksudnya om? Coba dijelaskan dengan lebih jelas :o

more 13 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 13 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 13 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 13 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 13 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 13 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
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- Program CUT OFF tabel
by Edwin2006 in Hal umum tentang Pascal Indonesia more 19 years ago - Membuat report untuk kertas continous, gimana caranya ya?
by ecka in Tutorial & Community Project more 18 years ago - dll untuk resource
by greatjon2002 in Tip n Trik Pemrograman more 18 years ago - Compacting Access DB
by murphy in Multimedia & Graphic Enhancement more 16 years ago - begin-end
by kaito_kid in Tip n Trik Pemrograman more 15 years ago - 'Rekayasa Object-object di Delphi' - @www.benpinte
by DelphiExpert in Form Enhancement & Graphical Controls more 17 years ago - Triger mysql ke host berbeda
by sinaga in MySQL more 14 years ago - Hapus record dalam dua table yang berlainan sekaligus
by hafiezd in Tip n Trik Pemrograman more 15 years ago - Convert Access form ke Delphi
by andip70 in Hal umum tentang Pascal Indonesia more 17 years ago - ClamAV Delphi
by testing-ting in Tip n Trik Pemrograman more 18 years ago