Autor Téma: Nastavenie veľkosti a polohy formulára  (Přečteno 323 krát)

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5307
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Nastavenie veľkosti a polohy formulára
« kdy: 03-08-2020, 21:53:23 »

procedure NewForm(ATypeForms: TTypeForm);
...
      F := BasalFormClass.CreateForm(nil);
    ///  To je opatrenie proti preblikávaniu formulára
    ///  Rámček preblikne aj tak
    F.Height := 1;
    F.Width := 1;
    F.Show;
    F.Hide;
    SupObjJson.ReadForm(F);
    CareNewForm(F);
    F.ShowModal;
Použitie udalosti SupObjJson.ReadForm(Self); v samotnom formulári neprináša výsledok.
Ako sa to správne robí?
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2698
  • Karma: 104
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Nastavenie veľkosti a polohy formulára
« Odpověď #1 kdy: 03-08-2020, 23:00:00 »
Zkus:
Kód: Delphi [Vybrat]
  1. procedure NewForm(ATypeForms: TTypeForm);
  2. ...
  3.       F := BasalFormClass.CreateForm(nil);
  4.   F.Position := poScreenCenter;
  5.     SupObjJson.ReadForm(F);
  6.     CareNewForm(F);
  7.     F.ShowModal;
  8.  
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2931
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Nastavenie veľkosti a polohy formulára
« Odpověď #2 kdy: 04-08-2020, 08:05:57 »
    F.Show;
    F.Hide;
    ...
    F.ShowModal;
Ovsem tohle je tezka alchymie  :o

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5307
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Nastavenie veľkosti a polohy formulára
« Odpověď #3 kdy: 04-08-2020, 08:35:15 »
Akosi mi F.Position := poScreenCenter; nepomohlo. Nastavenie sa vykonáva v SupObjJson.ReadForm(F); Formulár ostane v strede obrazovky. Veľkosť je v poriadku.
Citace
Ovsem tohle je tezka alchymie
Keď som to ináč nevedel. A pri tom som zistil, prečo mi OnShow išlo 2 x.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5307
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Nastavenie veľkosti a polohy formulára
« Odpověď #4 kdy: 04-08-2020, 08:41:10 »
Idem si preveriť správnosť práce s TMS styler-s. Možno je chyba tam. Ozvem sa.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2931
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Nastavenie veľkosti a polohy formulára
« Odpověď #5 kdy: 04-08-2020, 09:28:00 »
Akosi mi F.Position := poScreenCenter; nepomohlo. Nastavenie sa vykonáva v SupObjJson.ReadForm(F); Formulár ostane v strede obrazovky. Veľkosť je v poriadku.
Nerozumim tomu: kdyz nekde nastavis poScreenCenter, tak jeho pozici na obrazovce nelze zmenit, takze to je predpokladane chovani.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2698
  • Karma: 104
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Nastavenie veľkosti a polohy formulára
« Odpověď #6 kdy: 04-08-2020, 09:37:27 »
Akosi mi F.Position := poScreenCenter; nepomohlo. Nastavenie sa vykonáva v SupObjJson.ReadForm(F); Formulár ostane v strede obrazovky. Veľkosť je v poriadku.
Nerozumim tomu: kdyz nekde nastavis poScreenCenter, tak jeho pozici na obrazovce nelze zmenit, takze to je predpokladane chovani.

To je moje chyba, dal jsem mu tam špatný mód position, ale princip by měl jak jsem napsal, zadne Show, Hide.

Embarcadero MVP - Czech republic

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5307
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:Nastavenie veľkosti a polohy formulára
« Odpověď #7 kdy: 04-08-2020, 13:01:22 »
poDesigned funguje :)
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.