Autor Téma: komponent - podkomponent.Enabled -> vypnutie  (Přečteno 185 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2731
  • Karma: 26
    • Verze Delphi: XE7 professional
komponent - podkomponent.Enabled -> vypnutie
« kdy: 04-03-2017, 09:03:21 »
Mám vlastný komponent poskladaný z niekoľkých podkomponentov. Pri jednom z podkomponentov si chcem ovládať Enabled v rámci komponentu. Problém je v tom, že ak si rekurzívne zavolám vlastnú funkciu EnableControls(AEnabled: Booean) tak mi nastaví vlastnosť Enabled u všetkých podkomponentov. Dá sa tomu v požadovanom prípade nejako riešiť?
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline oxo

  • Guru
  • *****
  • Příspěvků: 685
  • Karma: 39
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:komponent - podkomponent.Enabled -> vypnutie
« Odpověď #1 kdy: 04-03-2017, 09:56:01 »
No tak si tu vlastnú funkciu nevolej  ;D
Embarcadero Technology Partner, juj. Člen Lazarus týmu, oj.

Offline oxo

  • Guru
  • *****
  • Příspěvků: 685
  • Karma: 39
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:komponent - podkomponent.Enabled -> vypnutie
« Odpověď #2 kdy: 04-03-2017, 10:02:54 »
Ne, teď vážně. Musíš to pořešit v té své funkci EnableControls, t.j. zjistit jaké komponenty se mají vzít v potaz a jaké ignorovat. Ignorovat bys mohl třeba ty, u kterých je "Owner is not TCustomForm" (to nastavuje Delphi IDE). Nebo použij jakoukoliv jinou vhodnější podmínku. To už záleží na tom, jak máš program postavený.
Embarcadero Technology Partner, juj. Člen Lazarus týmu, oj.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2731
  • Karma: 26
    • Verze Delphi: XE7 professional
Re:komponent - podkomponent.Enabled -> vypnutie
« Odpověď #3 kdy: 04-03-2017, 10:05:21 »
Mám to riešenie v tej funkcii. Ale som sa nádejal, že to pôjde aj v komponente.
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.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

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