Firemonkey 2 díl

vložil Radek Červinka 9. září 2011 00:23

Pokračování ohledně FireMonkey HD.

Vytvoříme dva nové formuláře. Na druhý vložíme následující komponenty.

Embedded Form

Vložíme na formulář TArcDial, TClearingEdit, TCallOutPanel a TProgressBar.

U CallOutPanel nastavíme CalloutPosition = cpLeft (zobáček doleva) a nastavíme RotationAngle = -30 (otočíme do požadované polohy). Vrazíme na něho Label a nastavíme mu Text "Otočte kolečkem". Každý prvek UI jde libovolně rotovat a měnit mu měřítko - zvětšovat/zmenšovat (díky vektorové podstatě).

Nyní

procedure TForm5.ArcDial1Change(Sender: TObject);
begin
  ProgressBar1.Value := ArcDial1.Value;
  ClearingEdit1.Text := FloatToStr(ProgressBar1.Value);
end;

Vrátíme se na první formuláře a dáme tam panel a vygenerujeme OnCreate

procedure EmbeddForm(AParent:TControl; AForm:TCustomForm);
begin
  while AForm.ChildrenCount>0 do
    AForm.Children[0].Parent:=AParent;
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
  EmbeddForm(Panel1, TForm5.Create(Self));
end;

Za běhu máme vložený druhý formulář (FMX zatím nepodporuje TFrame):

Embedded Form

Nezapomeňte, že můžete ovlivnit chování aplikace za pomoci několika globálních proměnných - viz. minule.

Takže na zakázání efektu focusu (a zakázání Direct2D) nastavte v DPR (uses FMX.Types)

  GlobalDisableFocusEffect := True;
  GlobalUseDirect2D := False;

Pokud aplikaci ladíte, je při použití Direct2D pomalejší start programu. Zároveň DEBUG verze je celkem velká, RELEASE je pak kolem 3MB.

FireMonkey a VCL

EMBT primárně chce, aby bylo FireMonkey používáno samostatně - ale je jasné, že rozumná varianta je využít některých výhod FMX a použít je ve VCL aplikaci. Jenže vkládání FMX formulářů do VCL je v IDE zakázáno, takže jsem si spustil druhou instanci IDE a vytvořil jsem patřičný FMX projekt a formulář jsem uložil do stejného adresáře jako VCL. Pak se to dá přidat do projektu (akceptujte varování). A už jsem jen z VCL formuláře zavolal modálně FMX formulář.

FMX má jinou pumpu zpráv než VCL aplikace, ale pokud je formulář modálně tak to nevadí.

Původní VGScene měla možnost embednout VGScene formulář do VCL formuláře. To není oficiálně podporováno, ale FMXAdapter to umí i pro FMX.

FireMonkey komponenty

code.google.com/p/delphichromiumembedded/source/list nyní podporuje FireMonkey.

Součástí instalace Delphi je i TChart ve verzi FireMonkey.


Nabízíme Delphi školení na různá témata, primárně ve Vaší firmě.

Tagy: ,

Novinky v Delphi

Komentování ukončeno

Naše nabídka

Partial English version.

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 nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 8.1).

V současnosti je světová komunita přes dva miliónů vývojářů.

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.

Anketa

Poslední komentáře

Comment RSS