İmage
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: İmage
bi yerden buldum umarım işinize yarar
ALINTIDIR
Kod: Tümünü seç
Şimdi yapacağımız button kendi çizdiğimiz 3 resimden oluşuyor. Öncelikle 3 adet aynı boyda aynı textli button çizin. 1. Resim ; buttonun Sabit yani Form üzerindeki duruşudur 2. Resim ; Programımız çalışırken mouse ile aynı buttonun üzerine geldiğimize buttonun alacağı şekil olacaktır. 3.Resim ; Programımız çalışırken yaptığımız button tıklanınca alacağı şekildir.
Dikkat ettiyseniz bu taktik HTLM (Web ) için button hazırlanması taktiği ile aynıdır. Şimdi bu taktiği kullanmaya başlayalım . Öncelikle Form üzerine Image kontrolünü ekleyelim ve resim olarak yaptığımız 1. resmi ekleyelim. Şımdi sıra Programımıza değişken tanımlayalım;
Kod: ‹ Seç ›
SetMouse : boolean;
Değişken tanımlama işimiz bitince Image Mouse Down olayına aşağıdaki kodları yazınız
Kod: ‹ Seç › ‹ Genişlet ›
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SetMouse := true; //Mouse Resmin üzerinde Basık olduğunu anlamamız için
image1.Picture.LoadFromFile('start-3.bmp'); //Mouse Click Durumunda
end;
Daha Sonra image Mouse Move Olayına aşağıdaki kodları yazınız
Kod: ‹ Seç › ‹ Genişlet ›
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
image1.Picture.LoadFromFile('start-3.bmp'); //Mouse Buttonun üzerine gelince buttonun alacağı şekil
if SetMouse then
image1.Picture.LoadFromFile('start-2.bmp'); //Mouse Click Durumunda Buttonun üzerindeki şekil
end;
Mouse button üzerinde click vaziyetinde olup olmadığını değişkene aktarmak için Image Mouse up olayına aşağıdaki kodu yazınız
Kod: ‹ Seç › ‹ Genişlet ›
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
SetMouse := false; //Mouse Click Durumunda Değil
end;
Button Görüntüleri Tamamlandı şimdi Click Yordamını yapalım. Image Click olayına aşağıdaki kodu yazınız .
Kod: ‹ Seç › ‹ Genişlet ›
procedure TForm1.Image1OnClick(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
image1.Picture.LoadFromFile('start-3.jpg');
ShowMessage('Button Tıklandı ');
end;
Buttonla olan işimiz bitti Mouse buttonumuzun üzerinde olmadığı zaman için mouse şeklini yapalım bunun için Form Mouse Move Olayına Aşağıdaki kodları yazınız.
Kod: ‹ Seç › ‹ Genişlet ›
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
image1.Picture.LoadFromFile('start-1.jpg');
end;
Ve işlemimiz bitti. Programınızda birden fazla Bu tür button koymanız için Bütün buttonlar için aynı işlemi yapınız. Form Mouse Move olayına her button için yukarıdaki program satırını yazınız
Örnek
Kod: ‹ Seç › ‹ Genişlet ›
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
image1.Picture.LoadFromFile('Connect-1.jpg');
image2.Picture.LoadFromFile('DeConnect-1.jpg');
image3.Picture.LoadFromFile('Atack-1.jpg');
image4.Picture.LoadFromFile('Exit-1.jpg');
end;
şeklinde yapınız .
Bildiğiniz gibi Web' de bu taktiği kullanmamız için Button için yaptığımız resimlerin HTLM de belirtilen Dizinde olması gerekir .Yani Bizim yukarıda yaptığımız olayda resim dosyalarının yerini belirtmememizin amacı resim Button Resim Dosyalarının Program ile aynı dizinde olmasıdır. Bu yüzden sorunun ne olduğunu anladınız galiba yani program bu açıktan dolayı kullanıcı tarıfından değiştirilebilir. Winamp MP3 çalıcıyı bilirsiniz . Winamp SKIN'nin ne olduğunu da biliyorsunuz sanırım , Yani demek istediğim Winamp SKIN'de de bu taktik kullanılmıştır .
Aslında bu sorun değil , çünkü bu olayı IMAGE LIST Kontrolü de yapar. IMAGE LIST bir Olay için kullanılan birden fazla resim için kullanılan resim dosyaları olmadan programın bağımsız çalışması için kullanılır. IMAGE LIST Delphinin Win32 sekmesinde bulunur . Gif taktiğine benzer bir taktikle çalışır, biraz incelerseniz kolaylıkla kullanabilirsiniz. Bu arada Delphinin Additional sekmesinde bulunan BitBTN kontrolüyle de buna benzer ama kolay Button kullanabilirsiniz
UWESIS CORPORATION
Re: İmage
daha kolay bir yöntemde genellikle ben bunu kullanıyorum mouse üzerine gelınce bı hareket yok ama mouse basıldıgı ve bırakıldıgı zaman nesneler değişiyor
Kod: Tümünü seç
mouse down:,
procedure Tform1.image1MouseDown(
Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
image1.Picture.LoadFromFile(c:\deneme.jpg);
end;
.........
mouse up:
procedure TCitizenDataNetS_CCSv5.officecomponent_textMouseUp(
Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
image1.Picture.LoadFromFile(c:\deneme1.jpg);
end;
UWESIS CORPORATION
Re: İmage
citizen yöntemin eğer belirttiğin kodları kullanıyorsan hiç iyi değil...Böyle birşey yapacaksan resimleri exe e gömerek hafızadan yüklenmen lazım...böylece olası hatalardan ve diske bağlı yavaşlamadan kutulmuş olursun....
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: İmage
arkadaşım neden tbitbtn kullanmıyorsun
bu objeninde üstüne resim konabiliyor
bunu sanırım biliyor sundur. böylece üzerine gelince buton olduğu anlaşılsın diye uğraşmazsın.
bu objeninde üstüne resim konabiliyor
bunu sanırım biliyor sundur. böylece üzerine gelince buton olduğu anlaşılsın diye uğraşmazsın.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Re: İmage
ewet aslında haklısınız hocam ama exe ye gömdüğümüz zaman ise exe çalıştırıldığında daha hafızada daha fazla yer kaplamaz mı?Battosai yazdı:citizen yöntemin eğer belirttiğin kodları kullanıyorsan hiç iyi değil...Böyle birşey yapacaksan resimleri exe e gömerek hafızadan yüklenmen lazım...böylece olası hatalardan ve diske bağlı yavaşlamadan kutulmuş olursun....
UWESIS CORPORATION
Re: İmage
kardeş ben bitbtn kulanmak istemiyom bitbtn resimlerin görüntüsünü bozuyor ve sadece .bmp uzantılı resim istiyoradelphiforumz yazdı:arkadaşım neden tbitbtn kullanmıyorsun
bu objeninde üstüne resim konabiliyor
bunu sanırım biliyor sundur. böylece üzerine gelince buton olduğu anlaşılsın diye uğraşmazsın.
ben de image kulandım
Şimdi bir çaresi yokmu bu işin ya
< The Best Boy >
Re: İmage
2 Tane seçeneğin var.
Birincisi component kullanmak yada ikinci yol olarak ise Image'ın OnMouse ve OnMouseDown procedurlerini kullanmak.
Olmadı Jedi Component (JVCL) lerini kullanabilirsin onda senin istediğin türden bir image component'i duruyor.Ayrıca bedava.
Birincisi component kullanmak yada ikinci yol olarak ise Image'ın OnMouse ve OnMouseDown procedurlerini kullanmak.
Olmadı Jedi Component (JVCL) lerini kullanabilirsin onda senin istediğin türden bir image component'i duruyor.Ayrıca bedava.