<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=66&amp;t=23181&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-06-06T11:43:58+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=66&amp;t=23181&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-06-06T11:43:58+01:00</updated>
<published>2020-06-06T11:43:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227717#p227717</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227717#p227717"/>
<title type="html"><![CDATA[Re: Delphi - style aplikacji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227717#p227717"><![CDATA[
A już nadchodzi, hmmm nadeszło - Delphi 10.4 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 cze 2020, o 11:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mario2015]]></name></author>
<updated>2020-06-06T09:40:25+01:00</updated>
<published>2020-06-06T09:40:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227712#p227712</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227712#p227712"/>
<title type="html"><![CDATA[Re: Delphi - style aplikacji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227712#p227712"><![CDATA[
Dobra robota.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8867">mario2015</a> — 6 cze 2020, o 09:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jarcio]]></name></author>
<updated>2020-06-06T09:09:39+01:00</updated>
<published>2020-06-06T09:09:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227711#p227711</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227711#p227711"/>
<title type="html"><![CDATA[Delphi - style aplikacji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23181&amp;p=227711#p227711"><![CDATA[
Zbliża się następna książeczka gdzie mają być kody m.in. w Delphi. <br />My pisząc swoje aplikacje czasami mamy ochotę zmienić je wizualnie.<br />W Delphi można przeprowadzić taką operację w bardzo prosty sposób. Dostajemy bowiem razem z pakietem sporo zdefiniowanych styli wizualnych oraz edytor styli (raczej dla mających dużo czasu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ). Tutaj jednak skupimy się na użyciu styli jakie były dostarczone razem z kompilatorem.<br /><br />Aby w naszej aplikacji możliwe było użycie zdefiniowanych styli należy kompilatorowi na początku je wskazać.<br />Po utworzeniu nowej aplikacji (Windows VCL Application) wchodzimy do menu Project -&gt; Options<br />We wskazanej opcji zaznaczamy style jakie mają być dostępne dla naszej aplikacji.<br /><br /><a href="https://obrazkiforum.atnel.pl/10579/aaaca49014f020e4cc4ba7db6698e6c1.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10579/aaaca49014f020e4cc4ba7db6698e6c1.jpg" alt="Obrazek" /></a><br />Na samym dole ustawiamy styl domyślny.<br /><br />A teraz spróbujmy użyć tych stylów w naszej aplikacji.<br /><br />Do testów potrzebujemy domyślnej formatki okienka i jednego obiektu ComboBox.<br /><a href="https://obrazkiforum.atnel.pl/10579/7ddd08c5fab2095aa480234e5c7f7924.JPG"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10579/7ddd08c5fab2095aa480234e5c7f7924.JPG" alt="Obrazek" /></a><br />Pozostałe obiekty dodałem dla testów wizualnych i nie są do niczego wykorzystywane.<br /><br />Pozostaje nam dopisać trochę kodu do dwóch zdarzeń.<br />1. Na Form1 zdarzenie OnCreate <br />[syntax=delphi]procedure TForm1.FormCreate(Sender: TObject);<br />var<br />  StyleName: string;<br />begin<br />  { pobieramy dostępne style i wypełniamy listę w ComboBox }<br />  for StyleName in TStyleManager.StyleNames do<br />    ComboBox1.Items.Add(StyleName);<br />  { ustawiamy na liście styl wybrany jako domyślny }<br />  ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(TStyleManager.ActiveStyle.Name);<br />end;[/syntax]<br /><br />2. Na obiekcie ComboBox ustawiamy zdarzenie OnChange<br />[syntax=delphi]procedure TForm1.ComboBox1Change(Sender: TObject);<br />begin<br />   { ustawiamy styl wybrany z listy }<br />   TStyleManager.SetStyle(ComboBox1.Text);<br />end;[/syntax]<br /><br />A tak powinien wyglądać cały kod modułu<br />Proszę zwrócić uwagę na linię 30.<br />[syntax=delphi]unit Test1;<br /><br />interface<br /><br />uses<br />  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,<br />  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls;<br /><br />type<br />  TForm1 = class(TForm)<br />    ComboBox1: TComboBox;<br />    Button1: TButton;<br />    RadioButton1: TRadioButton;<br />    Edit1: TEdit;<br />    procedure ComboBox1Change(Sender: TObject);<br />    procedure FormCreate(Sender: TObject);<br />  private<br />    { Private declarations }<br />  public<br />    { Public declarations }<br />  end;<br /><br />var<br />  Form1: TForm1;<br /><br />implementation<br /><br />{$R *.dfm}<br /><br />{ UWAGA: Poniższe dwie linie trzeba dopisać ręcznie }<br />uses<br />  Vcl.Themes;<br /><br />procedure TForm1.ComboBox1Change(Sender: TObject);<br />begin<br />   TStyleManager.SetStyle(ComboBox1.Text);<br />end;<br /><br />procedure TForm1.FormCreate(Sender: TObject);<br />var<br />  StyleName: string;<br />begin<br />  for StyleName in TStyleManager.StyleNames do<br />    ComboBox1.Items.Add(StyleName);<br /><br />  ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(TStyleManager.ActiveStyle.Name);<br />end;<br /><br />end.[/syntax]<br /><br />Teoretycznie powinno wszystko działać. Program się kompiluje i nie działa prawidłowo.<br />I tu na chwilę się zatrzymałem...<br />Okazało się że trzeba zrobić jeszcze jedną rzecz. Wchodzimy w Project -&gt; View Source<br />I dopisujemy jedną linijkę - linia 5 - dołączamy moduły &quot;Vcl.Themes, Vcl.Styles,&quot;.<br />[syntax=delphi]program Test1Proj;<br /><br />uses<br />  Vcl.Forms,<br />  Vcl.Themes, Vcl.Styles,<br />  Test1 in 'Test1.pas' {Form1};<br /><br />{$R *.res}<br /><br />begin<br />  Application.Initialize;<br />  Application.MainFormOnTaskbar := True;<br />  Application.CreateForm(TForm1, Form1);<br />  Application.Run;<br />end.[/syntax]<br /><br />W przykładzie pominąłem ładowanie stylów z pliku, zapamiętywanie ustawień aplikacji, itp.<br />Chciałem tylko pokazać jak można w prosty sposób zmienić sobie wizualny wygląd aplikacji przy wykorzystaniu dostarczonych z kompilatorem stylów.<br /><br />A poniżej kilka przykładów z działania. <br />Wszystkie zrzuty ekranu pochodzą z komputera z Windows 7.<br /><br />Styl domyślny aplikacji. <br /><a href="https://obrazkiforum.atnel.pl/10579/da44e5f95a0557b1a6408959498e0108.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10579/da44e5f95a0557b1a6408959498e0108.jpg" alt="Obrazek" /></a><br /><br />I wybrane inne style..<br /><a href="https://obrazkiforum.atnel.pl/10579/ae3460d65acda4a060cf0a325a95be73.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10579/ae3460d65acda4a060cf0a325a95be73.jpg" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/10579/4b759a833cc87387caff8b344031537f.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10579/4b759a833cc87387caff8b344031537f.jpg" alt="Obrazek" /></a><br /><br /><a href="https://obrazkiforum.atnel.pl/10579/2a709aee322eb9668cdef6ca7a604b9f.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/10579/2a709aee322eb9668cdef6ca7a604b9f.jpg" alt="Obrazek" /></a><br /><br />Do kodowania wykorzystano Delphi 10.3 Community Edition<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10579">Jarcio</a> — 6 cze 2020, o 09:09</p><hr />
]]></content>
</entry>
</feed>