[Çözüldü]Xe skin seçtirme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
[Çözüldü]Xe skin seçtirme
Merhaba kullanıcılara Delphi xe6 da yüklü olan skinleri değiştirebilme imkanı vermek istiyorum. Bunu nasıl yapabilirim. ( delphinn kendi temaları harici komponent kullanmak istemiyorum. Skinpackte bunu yapabiliyorduk acaba Delphi kendi temalarında bu mümkün mü)
En son Lord_Ares tarafından 05 May 2015 11:41 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Xe skin seçtirme
Bknz..: Vcl.Themes, Vcl.Styles ve TStyleManager.TrySetStyle('Auric');
http://stackoverflow.com/questions/9906 ... at-runtime
http://theroadtodelphi.wordpress.com/ca ... cl-styles/
http://stackoverflow.com/questions/9906 ... at-runtime
http://theroadtodelphi.wordpress.com/ca ... cl-styles/
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Xe skin seçtirme
Merhaba,
Kullanıcıya skin seçtirdiğim bir formum var. Delphideki stilleri, programın çalıştığı klasöre kaydetmemiz gerekiyor mu.
Delphinin tüm skinlerini projeye nasıl gömerim, gerek varmı gömmeye.
Teşekürler
Kullanıcıya skin seçtirdiğim bir formum var. Delphideki stilleri, programın çalıştığı klasöre kaydetmemiz gerekiyor mu.
Delphinin tüm skinlerini projeye nasıl gömerim, gerek varmı gömmeye.
Teşekürler
Re: Xe skin seçtirme
Project-> Options içinden skin'leri programınız içine gömebileceğiniz gibi ayrı ayrı dosya olarak da programınızla birlikte dağıtabilirsiniz. Tercih size kalmış.
İki durumda da TStyleManager sınıfını kullanmalısınız. Dosyadan çağırmak için LoadFromFile, proje içinden çağırmak için LoadFromResource kullanmalısınız.
İki durumda da TStyleManager sınıfını kullanmalısınız. Dosyadan çağırmak için LoadFromFile, proje içinden çağırmak için LoadFromResource kullanmalısınız.
There's no place like 127.0.0.1
Re: Xe skin seçtirme
Merhaba;
Gerekli açıklamalar yapılmış fakat Kodlar elimin altında olduğu için Paylaşayım istedim.
Fakat burada şöyle bir sorun oluyor hata bende de olabilir , belki de kullanım böyle bilemedim.
Şöyleki;
Form1 Ana Form, Form2 Tema Formu. Form1 Hide Durumda iken Form2 üzerinden tema değiştiği zaman Form(Proje) kayboluyor hide durumuna düşüyor.
Bu durumu çözmek için. önce Ana Formu Show edip tema değişikliğinin ardından Tekrar Gizleyerek çözüm üretebildim.
Gerekli açıklamalar yapılmış fakat Kodlar elimin altında olduğu için Paylaşayım istedim.
Kod: Tümünü seç
Uses Vcl.Themes;
procedure TForm1.FormShow(Sender: TObject);
var
a: String;
begin
ComboBox1.Items.BeginUpdate;
try
ComboBox1.Items.Clear;
for a in TStyleManager.StyleNames do // Options Bölümünden Seçtiğimiz temlar sırası ile
ComboBox1.Items.Add(a); // Combobox'a ekleniyor.
ComboBox1.Sorted := True; // A..Z Sıralamasını yapıyoruz.
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(TStyleManager.ActiveStyle.Name); //Aktif Temayı Seç.
finally
ComboBox1.Items.EndUpdate;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
TStyleManager.TrySetStyle(ComboBox1.Items[ComboBox1.ItemIndex]);
// Seçilen Tema Aktif oluyor!
end;
Şöyleki;
Form1 Ana Form, Form2 Tema Formu. Form1 Hide Durumda iken Form2 üzerinden tema değiştiği zaman Form(Proje) kayboluyor hide durumuna düşüyor.

Bu durumu çözmek için. önce Ana Formu Show edip tema değişikliğinin ardından Tekrar Gizleyerek çözüm üretebildim.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: Xe skin seçtirme
Bilgi ve yardım için teşekkürler arkadaşlar istediğim gibi oldu. xozcanx sorununun formları gizleme ve gösterme şeklinden olabileceğini düşünüyorum.
Ben formları hide ve show metodu ile değilde aşağıdaki şekilde gösteriyorum. Böylece ram kullanımını da düşürmüş oluyorum. Aşağıdaki şekilde bahsetmiş olduğun sorunları yaşamadım.
Form1 den Form2 yi göstermek için aşağıdaki gibi kullanıyorum
Ben formları hide ve show metodu ile değilde aşağıdaki şekilde gösteriyorum. Böylece ram kullanımını da düşürmüş oluyorum. Aşağıdaki şekilde bahsetmiş olduğun sorunları yaşamadım.
Form1 den Form2 yi göstermek için aşağıdaki gibi kullanıyorum
Kod: Tümünü seç
Application.CreateForm(TForm2,Form2)
Form2.ShowModal;
Form2.Release;