Devexpress'te Skin değiştirme.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Devexpress'te Skin değiştirme.

Mesaj gönderen neu84 »

Merhaba Arkadaşlar,
Delphi XE kullanıyorum. Devexpress bileşeni ile formun skinini değiştirmek istiyorum. Visual Studioda VB'de ve C# ta yapabiliyorum. Ancak Delphiye uyarlayamadım bir türlü.
C#taki kodlarım aşağıdaki gibi. Her butona tıkladığımda listBoxControl1 deki seçimime göre skin değişiyor. dxSkinController1 kullanılması gerektiği söylenmişti forumda, ancak sonuç vermedi. Bana şu aşağıda c#ta yaptığım işi delphide nasıl yapabilecegim konusunda yardımcı olurmusunuz?

Kod: Tümünü seç

    private void simpleButton1_Click(object sender, EventArgs e)
        {
            defaultLookAndFeel1.LookAndFeel.SkinName = listBoxControl1.SelectedItem.ToString();
        }

        public Form1()
        {
            InitializeComponent();
            DevExpress.Skins.SkinManager.EnableFormSkins();
            DevExpress.UserSkins.BonusSkins.Register();
            DevExpress.UserSkins.OfficeSkins.Register();
        }
Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 02:28

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen Rew33 »

projene bir tane dxSkinController koy
combobox' ın içerisine skin isimlerini gir
combobox'ın onchange olayına
dxSkinController1.SkinName := combobox1.text;
şeklinde skini atayınca istediğin olur
buarada dxSkinController'in UseSkins özelliği tru olmalı.
son olarak ta
forma eklediğin cx veya dx bileşenlerinin lookandfeel altındaki nativeStyle özelliği false olmalı ve uses kısmına eklemek istediğin skinlerin unitlerini eklemelisin.
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen neu84 »

Rew33 yazdı:projene bir tane dxSkinController koy
combobox' ın içerisine skin isimlerini gir
combobox'ın onchange olayına
dxSkinController1.SkinName := combobox1.text;
şeklinde skini atayınca istediğin olur
buarada dxSkinController'in UseSkins özelliği tru olmalı.
son olarak ta
forma eklediğin cx veya dx bileşenlerinin lookandfeel altındaki nativeStyle özelliği false olmalı ve uses kısmına eklemek istediğin skinlerin unitlerini eklemelisin.

Çok teşekkür ederim, İlk kısmını yaptım artık değişiyor. ancak anlamadığım bi yer var,
f uses kısmına eklemek istediğin skinlerin unitlerini eklemelisin.
[/quote]
kısmını pek anlamadım. Skinlerin unitleri nasıl oluyor? Bi de cxGrid in lookandfeel özelligi var, ama dxTreeView1 in ki yok. dxTreeView1'in nativestyle ı değiştirilmiyomu? sanırım hepsinde cxGrid1.LookAndFeel.NativeStyle:=false; gibi yazılmıyor.
Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 02:28

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen Rew33 »

Çok teşekkür ederim, İlk kısmını yaptım artık değişiyor. ancak anlamadığım bi yer var,
f uses kısmına eklemek istediğin skinlerin unitlerini eklemelisin.
[/quote]
kısmını pek anlamadım. Skinlerin unitleri nasıl oluyor? Bi de cxGrid in lookandfeel özelligi var, ama dxTreeView1 in ki yok. dxTreeView1'in nativestyle ı değiştirilmiyomu? sanırım hepsinde cxGrid1.LookAndFeel.NativeStyle:=false; gibi yazılmıyor.[/quote]

skincontroller nesnesini koyduğun formun veya datamodul'ün uses kısmına

Kod: Tümünü seç

dxSkinOffice2010Black
,dxSkinOffice2010Blue
,dxSkinOffice2010Silver...
gibi çalışma zamanında comboboxtan seçilmesini istediğin tüm skinlerin unit isimlerini eklemelisin,bildiğim kadarıyla standart ta kısıtlı skin ile geliyor(blue,black,silver) bunların dışında birini istiyorsan uses kısmına eklemelisin(benim kullandığım versiyonda sanırım bir sorun var kendisi eklemiyor,eğer senin kullandığında project menüsündeki project Skin Options Editor içerisinde listeyi görüyorsan seçtiğin skinleri kendisi uses kısmına ekler)

diğer soruna gelince kod ile cxGrid1.LookAndFeel.NativeStyle:=false; yapmana gerek yok, sadece bazı durumlarda kullandığın bileşenin skin ile değişmesini istemeyebilirsin o zaman işte bu özelliği true yaparsın onun dışında tek tek false yapmana gerek yok.
tüm bileşenlerin NativeStyle özelliği olmaya bilir,dediğim gibi genelde kullanmazsın.
bu arada uses kısmına eklediğin her bir skinin exe'nin boyutunu arttırdığını göz önünde bulundur.
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen neu84 »

Dedğiniz gibi uses kısmına kendi eklemiş zaten, bende diyodum bu kalabalıkta nedir böyle.
işime yarayacak bileşenlerin NativeStyle özelliği yok sanırım. Hangisine baktıysam yoktur. Bunun bir yolu yokmu? Yani sonuçta skincontroller devexpress e ait bir bileşen değilmi, dolayısıyla devexpress e ait tüm bileşenleri destekliyor olması gerekmiyormu. daha dogru o tüm bileşenlerde nativestyle özelliiginin olması gerekmiyo mu. o halde yarım kaldı yaptıgım şey. Tüm bileşenleri etkileyebilecek bir yol var mı peki?
Birde kodla yapmama gerek olmadığını söylemisşiniz.

Kod: Tümünü seç

cxGrid1.LookAndFeel.NativeStyle:=false;
satırını CommentLine yapınca skini değişmiyo. kendi defaul skini ile kalıyo öyle.
Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 02:28

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen Rew33 »

neu84 yazdı:Dedğiniz gibi uses kısmına kendi eklemiş zaten, bende diyodum bu kalabalıkta nedir böyle.
işime yarayacak bileşenlerin NativeStyle özelliği yok sanırım. Hangisine baktıysam yoktur. Bunun bir yolu yokmu? Yani sonuçta skincontroller devexpress e ait bir bileşen değilmi, dolayısıyla devexpress e ait tüm bileşenleri destekliyor olması gerekmiyormu. daha dogru o tüm bileşenlerde nativestyle özelliiginin olması gerekmiyo mu. o halde yarım kaldı yaptıgım şey. Tüm bileşenleri etkileyebilecek bir yol var mı peki?
bakın yaptığınız olay tüm bileşenleri etkileyecektir zaten, sizin ekstradan bir şey yapmanıza gerek yok,sadece NativeStyle özelliği olan bileşenlerde
cxgrid gibi bu özellik o bileşenin skin değişiminden etkilenmemesini sağlıyor.
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen neu84 »

anladım skincontoller ı koyup useskin i true yapınca hepsini etkilemesi gerekiyo, ama hiç biri değişmiyo ki nativestyle olmayınca. olanlara false yapıyorum değişiyo, olmayanlarada bişey yapamıyorum,öyle kalıyo. C# ta yapınca tamamı değişiyo bileşenlerin, ama delphide olmuyo nedense..
DxTreeView'in skinini nasıl değiştirebilirim? nativestyle ı yok, o zaman olmiycakmı?
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen neu84 »

Formcreate'e dxSkinController1.NativeStyle:=false; satırını ekledim, şimdi etkiliyor. ancak tuhaf, yada bilmedigim için bana tuhaf gelen bi durum var.
Dx ile başlayan componentlerin hiç birini etkilemiyor? sadece cx ile başlayanları değiştiriyor.. Sizin dikkatinizi çektimi daha önce?
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen Lord_Ares »

Ben skinpacklerde şöyle kullanıyorum. Belki size fikir verebilir diye kodu gönderdim.

Kod: Tümünü seç

procedure LoadSkin(AFileName: String);
var
  Dir: String;
  Ext: String;
begin
  Ext := ExtractFileExt(AFileName);
  if LowerCase(Ext) = '.ini'
  then
    spSkinData1.LoadFromFile(AFileName)
  else
  if LowerCase(Ext) = '.skn'
  then
    spSkinData1.LoadFromCompressedFile(AFileName);
  Dir := ExtractFilePath(AFileName);
end;
Kullanımı
Button içerisine şunu yaz.

Kod: Tümünü seç

 if OpenDialog1.Execute
 then
  LoadSkin(OpenDialog1.FileName);
end;

neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen neu84 »

@Lord_Ares
Teşekkür ederim kardeşim. Bu şekilde olmasada bi şekilde yaptım, sanırım gözden kaçırdıgım şey cxSkinController kullanınca cx olanları kullanmam gerektigi ve lookandfeel özelligini false yapmam gerektigiymiş. Şimdi sorun yok. Tüm cevap veren arkadaşlar sagolun..
abaybay
Üye
Mesajlar: 1
Kayıt: 15 Ara 2011 11:33

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen abaybay »

Ben formumda dxRibbon kullanıyorum dizayn anında ColorShemeName özelliğinden farklı skin seçip uyguluyorum ve değişiklik gözüküyor ama programı derlemesi için çalıştırdıktan sonra seçtiğim skin ribbonun görüntüsünde aktif olmuyor. Bu sorunla daha önce karşılaşan varsa çözümü varmı???
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Devexpress'te Skin değiştirme.

Mesaj gönderen neu84 »

Merhaba
TdxSkinController ile kullanmayı denediniz mi, işe yarabilir..
Cevapla