pagecontrol daki başlık butonları renkleri

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

pagecontrol daki başlık butonları renkleri

Mesaj gönderen MicroChip »

pagecontrol daki başlık butonları renklerini nasıl değiştireceğiz bilen varmı?
vallaha ne canvas kaldı nede brush hepsini denedim ama yapamadım. skin componentlerin kodlarına baktım onları da çözmek için 1 hafta lazım :)

Saygılar
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam.

- Aslında çözümü bulmuşsun. Canvas.Brush.Color senin istediğin işi yapıyor. Sorun nedir ?

- Belki PageControl'ün OwnerDraw'ını True yapmayı unutmuş olabilirsin.


// Düzenleme //

- Haa bir de unutmuşum, umarım tüm bunları OnDrawTab eventinde yapıyorsunudur yoksa her paint olayında yaptığın değişiklik çöpe gider. :)
Resim
Resim ....Resim
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

Aslında dediğini daha önce yaptım zaten. fakat ownerdraw'ını true yaptığımda da başlıktaki captionlar kayboluyor. onu da mı canvasla yapıcam.
bak ownerdraw'ı true yaptıktan sonra canvasla texti yazdırmadım. birde onu deniyeyim :)
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Evet aynen öyle..

- Senin için bir örnek hazırladım. Elime yapışmadı yani 8)
- Bildiğin şeyler sanıyorum ama başka okuyanlar da bilmeyenler de öğrensin istedim.

- Özellikler isteyebileceğin ekstra özelliklerle donattım.
- Her Tab'a başka bir renk.
- Seçili Tab'ın rengini Siyah olarak değişrimek
- Yazı yazdırmak ve Yazının stilini şarta göre değiştirmek..

Kod: Tümünü seç

// PageControl'un OwnerDraw özelliği True olacak.
// OnDrawTab eventine yani buraya yazılacak örnek kod aşağıdaki gibi.
// Muharrem ARMAN (Ankara)
Var
  Renk : TColor;
begin
// Renk initialized Warning'i vermesin diye Renk'e default değer verildi.
// Aslında tab sayısı kadar case tanımı olacağından gerek yok.
  Renk := clBtnFace;

  Case TabIndex of
  0: Renk := clNavy;
  1: Renk := clMaroon;
  2: Renk := clBlue;
  3: Renk := clPurple;
  end; // Case

  With PageControl1 do
  begin
    if Active then // İlgili Tab'a gidildiğinde Tab Rengi Siyah olur. (Sana Bonus)
    begin
      Canvas.Font.Color  := clWhite;
      Canvas.Font.Style  := [fsBold];
      Canvas.Brush.Color := clBlack;
    end
    else
    begin
      Canvas.Font.Color  := clWhite; // Yazı Rengini Beyaz yaptım.
      Canvas.Font.Style  := [];
      Canvas.Brush.Color := Renk; // Taba göre renk değişsin diye
    end;
    Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, Pages[TabIndex].Caption);
    Canvas.FrameRect(Rect);
  end; // With
end;
Resim
Resim ....Resim
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

oke saol dostum ellerin dert görmesin ama ben bugun işyerindeyken hallettim bir boşlukta, dediğim olayı yapınca. :)

ama dediğin gibi bilmeyenler için güzel bir kod.
8)
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Sevindim. :)

- Başarılar.
Resim
Resim ....Resim
Cevapla