BitBtn Renklendirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

BitBtn Renklendirme

Mesaj gönderen ozcank »

Arkadaşlar Merhaba; Ben Form üzerinde BitBtn1.....3 kullanıyorum. Şunu yapabilir miyim Mouse ile BitBtn1.....3 üzerine gelince hangi BitBtn ' e gelirsem renk olur çizgi olur bir şekilde ayrıştırmak istiyorum. Yardımcı olur musunuz?
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: BitBtn Renklendirme

Mesaj gönderen hi_selamlar »

Herkes cahildir, bazi konularda.
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: BitBtn Renklendirme

Mesaj gönderen xozcanx »

Resim

BitBtn5 ve BitBtn6 referans alınarak buton üzerindeki görüntü değiştiriliyor. Burada dikkat edin işlem yapılacak butonlar bir panel üzerinde toparlandığı için tek bir döngü içinde değişiklik gerçekleştiriliyor.

Kod: Tümünü seç

var
  Form1: TForm1;
  var i: integer;
implementation

{$R *.dfm}

procedure TForm1.BitBtn1MouseEnter(Sender: TObject);
begin
  butonuzerinde(Sender as (TBitBtn));
end;

procedure TForm1.BitBtn1MouseLeave(Sender: TObject);
begin
 butondisinda(Sender as (TBitBtn));
end;

procedure TForm1.butonuzerinde(btn:TBitBtn);
Begin
  for i := ComponentCount-1  downto 0 do
  begin
    if (Components[i] is TBitBtn) AND (TBitBtn(Components[i]).Parent=Panel1) Then
    Begin
      with TBitBtn( Components[i]) do
      Glyph:=BitBtn5.Glyph;
    End;
  end;
  btn.Glyph:=BitBtn6.Glyph;
  btn.Font.Style:=[fsBold];
end;

procedure TForm1.butondisinda(btn:TBitBtn);
Begin
  btn.Glyph:=BitBtn5.Glyph;
  btn.Font.Style:=Font.Style-[fsBold];
end;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

Re: BitBtn Renklendirme

Mesaj gönderen ozcank »

xozcanx çok teşekkür ederim tam istediğim ama ben Delphi7 kullanıyorum ve şunlar yok;

BitBtn1MouseEnter
BitBtn1MouseLeave

Kod: Tümünü seç

procedure TForm1.BitBtn1MouseEnter(Sender: TObject);
begin
  butonuzerinde(Sender as (TBitBtn));
end;

procedure TForm1.BitBtn1MouseLeave(Sender: TObject);
begin
 butondisinda(Sender as (TBitBtn));
end;
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: BitBtn Renklendirme

Mesaj gönderen xozcanx »

Resim
ornek.zip
ornek proje
(8.26 KiB) 89 kere indirildi
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

Re: BitBtn Renklendirme

Mesaj gönderen ozcank »

Rad Studio 10 Kullanıyorsun ben Delphi7 bende yok :(
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: BitBtn Renklendirme

Mesaj gönderen xozcanx »

Kusura bakmayın uzun süredir Delphi 7 kullanmadığım için bu özelliğin olmadığını unutmuşum. Aklıma gelen yöntemi söyleyeyim fakat sıkıntısıda şu sürekli buton üzerinde bir titreme meydana gelecektir.
Timer nesnesi ile Mouse Cursor pozisyonunu alarak BitBtn üzerinde olup olmadığını kontrol edebilirsin eğer belirttiğin Btn üzerine gelirse yukarıdaki gibi değişiklik yapabilirsin.
2. olarak Form.Pas içerisinde bir düzenleme ile bu özellikleri enteğre etmek gerekecek :)
3. olarak ise 3. parti bir bileşen yüklemek olabilir.
İyi Çalışmalar.

Edit: Form.Pas ve Buttons.pas içerisinde ilgili property ların varolduğunu gördüm, fakat fazla detayına giremedim :?
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

Re: BitBtn Renklendirme

Mesaj gönderen ozcank »

component var mı bildiğin delphi7 ye göre?
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: BitBtn Renklendirme

Mesaj gönderen xozcanx »

Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Cevapla