PageControl Rengi değişiyor ama TabPosition tbLeft olunca...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
efkan
Üye
Mesajlar: 155
Kayıt: 31 Oca 2004 07:47
Konum: Tekirdağ
İletişim:

PageControl Rengi değişiyor ama TabPosition tbLeft olunca...

Mesaj gönderen efkan »

Merhabalar ,
Ben PageControl nesnesinin rengini değiştiremiyordum ve forumda arama yaptığımda Sn. Muharrem ARMANın bir yazısıyla karşılaştım ve bu kodlar sorunumu çözdü.Delphide daha çok yeniyim ve eskisi kadar kaliteli delphi kitapları yazıldığına inanmıyorum :) kodlamayı hiçbir kitap anlatmıyor vede fonksiyonları.Muharrem Beyin kodları aşağıdaki gibiydi;
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;
Ancak bunu yadığımda benim page controlümün TabPositionu tbLeft olduğu için TabSheet lerin etiketleri dikey yazacağına yatay devam ediyor..burada OWNERDRAW ı TRUE yaptığıma göre sanırım TabSheetin başlığınıda ben dikey yazdırmam gerekli ancak fonksiyonlarda bulamadım.
Biraz uzun oldu
Herkesin güzel bir gün geçirmesi dileğiyle
Bilgisayar Programcısı/Analyst ve Sistem Yöneticisi
Cevapla