Autor Téma: Runtime create controls a řazení  (Přečteno 130 krát)

Offline xnukes

  • Mladík
  • **
  • Příspěvků: 62
  • Karma: 1
    • Verze Delphi: XE7
    • Bludspeed s.r.o.
Runtime create controls a řazení
« kdy: 13-11-2017, 09:51:52 »
Ahojte,

bojuju s tím už delší dobu a furt tomu nemůžu přijít na kloub. Mám svuj objekt která vytváří za chodu aplikace komponenty jako např. TEdit, TComboBox, TLabel, atd, vsechny tyto komponenty maji predka BaseControl ... a při vytvoření se jím nastavý vždy Align na alTop. Ve 3ech případech se mi to spravne radi podle toho jak napisu v kodu.

Tedka pri vytvoreni 4teho formulare mam poradi : 1) nazev 2) datum od 3) datum do
a toto se vykresli v poradi: datum od -> nazev -> datum do (a je uplne jedno v jakym poradi napisu pridani techto komponent, stale se to vykresluje stejne, coz je divny).

Laboroval jsem i s BringToFront a SendToBack, taktéž mi to nepomohlo :/ Nevím jestli není nějáký jiny problém s tou komponentou, jelikož jde o datetimepicker od TMS.

Děkuji vám :)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2972
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:Runtime create controls a řazení
« Odpověď #1 kdy: 13-11-2017, 10:30:00 »
Excellent
Rated 1 time
Buď ich vytváraj od konca, čo nemám vyskúšané. Alebo nastav vlastnosť Top tak, aby sa vytváraný komponent nachádzal pod posledným. Jedno o koľko. Ale pod.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Hrdina
  • ****
  • Příspěvků: 277
  • Karma: 15
    • Verze Delphi: 10.2
Re:Runtime create controls a řazení
« Odpověď #2 kdy: 13-11-2017, 10:37:11 »
Jak píše Stano, nastavovat jim "Top" na bezpečně velkou hodnotu.
Bohužel se mi ale stejně neosvědčilo mít víc komponent takto zarovnaných - pokud aplikace podporuje HDPI, máte dva monitory, na každém jinak nastavené DPI, a to okno párkrát přesunete sem a tam mezi monitory, tak se prvky občas zpřehází. (Resp. mně to zlobilo, když jsem měl dva panely zarovnané k dolnímu okraji.)

Offline xnukes

  • Mladík
  • **
  • Příspěvků: 62
  • Karma: 1
    • Verze Delphi: XE7
    • Bludspeed s.r.o.
Re:Runtime create controls a řazení
« Odpověď #3 kdy: 13-11-2017, 10:48:46 »
Zkusím ten top, to mě sakra nenapadlo. Navíc mám fci která spočíta výšku všech prvku v danné skupině. Dám vědět.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2972
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:Runtime create controls a řazení
« Odpověď #4 kdy: 13-11-2017, 10:57:35 »
Nezabudni pri tom na medzery medzi komponentami ;)
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline xnukes

  • Mladík
  • **
  • Příspěvků: 62
  • Karma: 1
    • Verze Delphi: XE7
    • Bludspeed s.r.o.
Re:Runtime create controls a řazení
« Odpověď #5 kdy: 13-11-2017, 10:59:19 »
Nezabudni pri tom na medzery medzi komponentami ;)
prave to resi ta fce height + margin + padding :) ale diky za upozorneni :D

Offline xnukes

  • Mladík
  • **
  • Příspěvků: 62
  • Karma: 1
    • Verze Delphi: XE7
    • Bludspeed s.r.o.
Re:Runtime create controls a řazení
« Odpověď #6 kdy: 13-11-2017, 11:05:15 »
Paráda hoši, už to je tak jak má být :)  8)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2972
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:Runtime create controls a řazení
« Odpověď #7 kdy: 13-11-2017, 11:55:57 »
Citace
prave to resi ta fce height + margin + padding
A nestačí prebehnúť všetky komponenty, postupne si zistiť Top + Height, porovnať s predchádzajúcou hodnotou a ostatné už vieš... Akurát si tam dáš pri nastavovaní Top nejakú dostatočnú rezervu. Napr +50.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: