Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi - modálne okno bez prerušenia behu aplikácie

Prosím vás, poraďte mi ako otvoriť okno nemodálne, ale vždy navrchu aplikácie. Očo ide? Mám formulár frmPleaseWait, ktorý je určený na zobrazovanie priebehu vykonávania výpočtu, mazania a podobne v aplikácii. Formulár otváram metódou Show a ďalej spracovávam výpočet v aplikácii. Nakoľko je výpočet náročný na čas, tak počas výpočtu po každom kroku volám metódu Application.ProcessMessages. Vďaka tomu sa dá výpočet prerušiť aj v polovici, pretože sa dá stlačiť tlačítko Prerušiť na tomto formulári. Problém ale nastáva, ak kliknem do okna aplikácie, ale mimo tohto formulára. Vtedy sa už naspäť k formuláru frmPleaseWait nedostanem a program ďalej pokračuje vo výpočte. Dalo by sa to riešiť dvoma spôsobmi:

1. "Modálne" okno - aplikácia bude mať okno vždy navrchu, je to myslím parameter SystemModal, alebo niečo také. Tiež by som chcel umožniť pomocou formulára minimalizovať celú aplikáciu. Niečo podobné ako je to v Synchronizácia adresárov v Total Commanderi. Ak počas operácie dám minimalizovať, minimalizuje sa celý Total Commander.

2. Nové okno, aby som sa vedel dostaťk nemu späť pomocou hlavnej lišty. Niečo také je v aplikácii Virtual Dub, kde je počas činnosti programu vytvorené samostatné okno s procesom spracovania. Tu sa to zrejme roibí nastavením iného rodiča pri konštruktori Create. Ja používam Create(Self), čiže rodičom je hlavný formulár aplikácie.

Viete mi poradiť, ako to urobiť jedným alebo druhým spôsobom? Vhodnejší je prvý, ale môže byť aj druhý.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny