Autor Téma: Vlastný komponent - umiestnenie komponentov na ňom  (Přečteno 103 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4396
  • Karma: 39
    • Verze Delphi: XE7 professional
Nerozumiem tomu a začínam chytať hysťáky.
Komponent je odvodený od TPanel. Na ňom je panel s
Align := alClient.
Parent := Self;
Počas návrhu ho vidím. Akonáhle spustím aplikáciu, tak zmizne! Platí to aj pre všetky ostatné prvky.
Ako to je možné a čo mám urobiť?
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4396
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Vlastný komponent - umiestnenie komponentov na ňom
« Odpověď #1 kdy: 07-09-2019, 18:24:39 »
Aby toho nebolo málo. Mám tam
Kód: Delphi [Vybrat]
  1. Self.Constraints.MaxWidth := SelfWidth;  // 90
  2. Self.Constraints.MinWidth := SelfWidth;
  3. Self.Constraints.MaxHeight := SelfHeight;  // 21
  4. Self.Constraints.MinHeight := SelfHeight;
a maximálne hodnoty sú viac ako dvojnásobok zadaných.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1429
  • Karma: 34
    • Pepak.net
Re:Vlastný komponent - umiestnenie komponentov na ňom
« Odpověď #2 kdy: 07-09-2019, 18:44:27 »
To jako že panel leží sám na sobě? Tak to můžeš být rád, že zmizel jenom panel, mohl by zmizet i celý vesmír :-)

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2586
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:Vlastný komponent - umiestnenie komponentov na ňom
« Odpověď #3 kdy: 07-09-2019, 18:51:50 »
Align := alClient.
Parent := Self;
Co kdyz zkusis zmenit poradi a jako prvni nastavit Parent?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4396
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Vlastný komponent - umiestnenie komponentov na ňom
« Odpověď #4 kdy: 07-09-2019, 19:21:05 »

Citace
o jako že panel leží sám na sobě?
Nie, mám tam 2 panely. Komponent + na ňom panel.Panel som vyriešil pomocou Self.StyleElements := [];
Ostáva mi záhadou ostatné. Pokiaľ komponenty zarovnám vľavo či vpravo, tak to funguje. Ináč nie. Aj keď im polohu nastavím vo Form.Show. Skúsim ešte zmeniť to poradie.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4396
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Vlastný komponent - umiestnenie komponentov na ňom
« Odpověď #5 kdy: 07-09-2019, 19:28:20 »
Zmena poradia nepomohla. Pozrel som sa do cudzej komponenty a tam všetko zarovnáva vľavo. Len neviem či to je vynútené, alebo to tak chce.
Zmena poradia nemala žiaden vplyv.
Ja mám problém v tom, že používam TDBAdvEdit a chcem, v jednom prípade, využiť jeho vlastnosť LabelCaption. Tým pádom mi to zarovnanie vľavo robí problém.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4396
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Vlastný komponent - umiestnenie komponentov na ňom
« Odpověď #6 kdy: 07-09-2019, 19:34:32 »
Asi som našiel cestu. Ak dám constraints MinHeight a MaxHeight, tak mi komponent zarovná vľavo, ale nezmení jeho výšku. A to som potreboval. Môžem experimentovať.
Ale aj tak by som rád vedel prečo sa to správa tak nezmyselne.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.