VCL styly v Delphi XE2

vložil Radek Červinka 1. září 2011 22:12

Popis novinek v XE2 začneme něčím atraktivním. Styly.

Jednou z hlavních změn ve VCL (tedy kromě toho, že je i pro 64bitů) je podpora stylů. Hned na začátek je nutno poznamenat, že styly VCL a FireMonkey nejsou kompatibilní (u druhého je všechno vektorové).

Součástí instalace je i samostatný designer a tester stylů na uživatelské úrovni, takže je možno styly vytvářet i neprogramátory.

Volba stylu se dá jednoduše přes Option (nebo klasicky z kódu). Jednotlivé styly jsou uloženy v binárních souborech vsf upravovatelných pomocí designeru.

Options

Výběrem stylu se DPR soubor lehce změní:

program Project4;

uses
  Vcl.Forms,
  Unit4 in 'Unit4.pas' {Form4},
  Vcl.Themes,
  Vcl.Styles;

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  TStyleManager.TrySetStyle('Emerald Light Slate');
  Application.CreateForm(TForm4, Form4);
  Application.Run;
end.

Nebo např.

procedure TForm2.FormCreate(Sender: TObject);
begin
  TStyleManager.SetStyle(TStyleManager.LoadFromFile('water.vsf'));
end;

Samozřejmě můžete používat styl ve Vašich komponentách (pokud to nebude uděláno VCL) - jednotky Vcl.Styles a hlavně Vcl.Themes.

Designer

Designer ("c:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin\VclStyleDesigner.exe") je, jak už bylo řečeno, samostatná aplikace.

Style designer

Výběrem elementu vlevo můžete vpravo upravovat jeho vlastnosti.

Např. po kliknutí na volbu "bitmap" lze specifikovat bitmapu. MOC se mi líbí, že vše může být (ale nemusí) v jedné bitmapě a jen se vybírají její části - viz. čárkovaný výběr.

Style designer

Dodávané styly

Aqua Graphite

Aqua Graphite

Aqua Light Slate

Aqua Light Slate

Emerald Light Slate

Emerald Light Slate

Golden Graphite

Golden Graphite

Ruby Graphite

Ruby Graphite

Taky Vám to přijde jednoduché jako žebřík?

Pozn: různé rozšíření a opravy chyb jsou na theroadtodelphi.com/

Tagy: ,

Novinky v Delphi

Komentáře

2.9.2011 11:05:06 #

Jaroslav Dakš

Jediná aplikace které jsem kdy toleroval skiny byl WinAmp (mimochodem ho považuju za hlavního "viníka" skinování), jinak upřednostňuju na tom kterým OS "nativní" vzhled aplikací, je to pro mně přehlednější a líp se s tím pracuje. Když si představím, že každej program má svůj skin (pokaždé jinej) pokouší se o mně padoucnice. Docela by mě zajímalo, jak jsou na tom s používáním skinů ostatní uživatelé.

Jaroslav Dakš

2.9.2011 12:11:49 #

daemon_x

V tomto případě jde spíš o motivy než o skiny. Skin (jak ho známe třeba z Winampu) je podle mě větší zlo, protože se změní nejen barevný vzhled (motiv) ale může se i kompletně změnit rozložení ovládacích prvků. A za těchto předpokladů jsem pro motivy ne pro skiny. A u motivů bych pokaždé nechal možnost přepnout na výchozí podle nastavení OS.

daemon_x

2.9.2011 17:12:15 #

<z>

Takze to bude fungovat podobne jako napr.  VCLSkin nebo AlphaControls?
Jen jsem zvedav, jak to bude z progress bar, ktery je animovany ;)

<z>

2.9.2011 17:32:01 #

Zdeněk Vašků

Tak u nás skiny jako takové nepoužíváme, ale používáme LookAndFeel u DevExpress komponent. Vše máme UltraFlat, což je velice čistý a nenáročný vzhled. Uživatel si ho změnit nemůže.
Jinak ti co už skiny mají a potřebovali je již dříve (třeba DevExpress), na toto asi nepřejdou. Spíš je to na nalákání nových zájemců.

Zdeněk Vašků

3.9.2011 8:57:11 #

PS

Toto by mohlo byť zaujímavé pokiaľ by sa to dalo aktivovať per komponentu. Obzvlášť vypnúť na form (to je katastrofa pokiaľ nie sú zachované štandardné GUI systému).

PS

31.1.2012 18:29:47 #

Slavomír

Skúsil som v DXE2 skiny, páčia sa mi. Keď dám nový projekt, nastavím v menu Project/Options/Appearence a funguje. Ale keď to isté aplikujem na svoj existujúci projekt, tak to nefunguje (zobrazí sa hláška "Style XY not found". Poradí mi niekto, kde robím chybu? Alebo treba niekde nastaviť cestu k adresáru so skinmi?

Slavomír

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců