buton

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
yunusemre54
Üye
Mesajlar: 6
Kayıt: 16 Tem 2018 09:49

buton

Mesaj gönderen yunusemre54 » 06 Eyl 2019 09:25

iyi günler.delphide ekrana cxbuton atıyorum windows 10 da yani kendi pc'mde kçşeleri oval gözükmüyor.uzak masaüstü ile açarsam projeyi başka işletim sisteminde köşeleri oval gözüküyor.yani daha güzel gözüküyor.aynı proje neden olur böyle.

ertank
Üye
Mesajlar: 1241
Kayıt: 11 Eyl 2015 11:45

Re: buton

Mesaj gönderen ertank » 06 Eyl 2019 10:53

Merhaba,

Buton, Edit gibi temel bileşenler esasen Windows işletim sistemi nesneleridir. İşletim sistemi standardına uyarlar.

Başka işletim sistemi sürümü, kullanılan görsel tema vb sebeplerden buton şekilleri bahsettiğiniz farklılıkları gösterebilir.

yunusemre54
Üye
Mesajlar: 6
Kayıt: 16 Tem 2018 09:49

Re: buton

Mesaj gönderen yunusemre54 » 06 Eyl 2019 10:57

Cevabınız için teşekkür ederim,
Peki bununiçin bir çözüm var mı?delphi10.2 sürümü kullaıyorum windows10 da dabutonun köşelerinin oval olmasını sağlayabilir miyim?

ertank
Üye
Mesajlar: 1241
Kayıt: 11 Eyl 2015 11:45

Re: buton

Mesaj gönderen ertank » 06 Eyl 2019 08:57

Şunu deneyebilirsiniz:

TButton için ana menü üzerinden:
Project -> Options -> Application -> Appearance
Bu ekranda Custom Styles içinden "Amethyst Kamri" seçin. Ekranın altındaki Default Style kısmında yine aynı stil ismini seçin. Projeyi çalıştırın.

DevExpress bileşenleri için ana menü üzerinden:
Project -> Modify Skin Options
Gelen ekranda Enable skin support seçili olacak. Available skins listsinden istediğiniz bir stili seçin.
Form üzerine cxLookAndFeelController ekleyin. İlgili bileşen içinde NativeStyle özelliğini false yapın. SkinName kısmından istediğiniz bir stili seçin.

yunusemre54
Üye
Mesajlar: 6
Kayıt: 16 Tem 2018 09:49

Re: buton

Mesaj gönderen yunusemre54 » 06 Eyl 2019 10:45

Ertan bey ilginiz için teşekkür ederim.Dediğiniz yol ile başarılı sonuç elde ettim.

yunusemre54
Üye
Mesajlar: 6
Kayıt: 16 Tem 2018 09:49

Re: buton

Mesaj gönderen yunusemre54 » 13 Eyl 2019 01:37

TButton için ana menü üzerinden:
Project -> Options -> Application -> Appearance
Bu ekranda Custom Styles içinden "Amethyst Kamri" seçin. Ekranın altındaki Default Style kısmında yine aynı stil ismini seçin. Projeyi çalıştırın.
şeklinde yaptığımda Tpanelin rengi de temaya brünüyor.bunu nasıl engelleyebilirim.Teşekkür Ederim..

ertank
Üye
Mesajlar: 1241
Kayıt: 11 Eyl 2015 11:45

Re: buton

Mesaj gönderen ertank » 13 Eyl 2019 06:50

Merhaba,

Sadece bir tür bileşenin tema kullanmasını sağlamak istiyorsanız diğer bileşenlerin StyleServices üzerinden çalışmasını engellemeniz gerekli. Bunu aşağıdaki gibi bir kod yardımı ile yapmanız mümkün olabilir.

Kod: Tümünü seç

procedure DisableVclStyles(Control : TControl;const ClassToIgnore:string);
var
  i : Integer;
begin
  if Control=nil then
    Exit;

  if not Control.ClassNameIs(ClassToIgnore) then
   Control.StyleElements:=[];

  if Control is TWinControl then
    for i := 0 to TWinControl(Control).ControlCount-1 do
      DisableVclStyles(TWinControl(Control).Controls[i], ClassToIgnore);
end;
Kullanımı aşağıdaki gibi olacaktır

Kod: Tümünü seç

procedure TForm2.FormCreate(Sender: TObject);
begin
  DisableVclStyles(Self, 'TButton');
end;
Kaynak: https://stackoverflow.com/questions/140 ... -in-delphi

Diğer taraftan, "Amethyst Kamri" stili panel görüntüsünde bir değişiklik yapmamakta. Muhtemelen farklı bir stil kullanıyorsunuz. Sorularınızda mümkün mertebe detaylı bilgi vermenizde fayda var.

Ekte Delphi 10.3.2 ile çalışan örnek proje bulabilirsiniz.
Dosya ekleri
VCL_style_selective.7z
(131.29 KiB) 12 kere indirildi

Cevapla