Activer désactiver une form

THYNOORD Messages postés 5 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 5 juillet 2008 - 5 juil. 2008 à 14:52
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011 - 6 juil. 2008 à 14:13
Dans un petit projet je dois lancer un autre programme (donc dans une autre fenêtre) en cliquant sur un bouton. Je souhaiterai, tout en laissant mon application visible à l'écran, empêcher qu'elle ne reçoive les clics de souris tout le temps de l'exécution de l'autre programme. Genre:

MaForm.Enabled := false;
ExecuteEtAttendFin(programme externe);
MaForm.Enabled := true;

Ca marche mais en fait, si je clique sur un bouton de la form disabled, rien ne se passe tant que l'autre programme est en cours d'exécution mais dès que le programme externe se termine, mon application exécute les actions correspondant aux clics ayant eu lieu alors que la form était disabled !!! ??? !!! Comment pouvoir éviter cela ?... Je dois préciser que je souhaiterais de la même manière éviter que le clic sur le bouton "fermer" de la barre de titre (alors que la form est disabled) ne ferme mon application quand le programme externe se termine !...

Cette question est probablement bête et simpliste mais je me casse la tête depuis un certain temps sans trouver de solution !!! Merci pour votre aide et à bientôt...

SLT, THYNOORD

2 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 34
5 juil. 2008 à 14:56
affiche l'autre programme en MODAL, ou tout simplement, minimise ton appli quand l'autre programme est executé.

sinon comment ouvre tu l'autre programme ?

0
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
6 juil. 2008 à 14:13
Ca marche mais en fait, si je clique sur un bouton de la form disabled,
rien ne se passe tant que l'autre programme est en cours d'exécution
mais dès que le programme externe se termine, mon application exécute
les actions correspondant aux clics ayant eu lieu alors que la form
était disabled !!! ??? !!


Regarde bien ton code !
MaForm.Enabled := false;  // Activer
ExecuteEtAttendFin(programme externe); // Executer attendre la fin et apres
MaForm.Enabled := true; // Desactiver

Donc si tu veux qu'elle reste "Disabled" enleve la derniere ligne ! sinon je comprend que tu veux que quand l'autre programme se termine ton application se ferme dans ce cas pas la peine de "Desactiver" , execute le programme externe et ferme ton programme !

Comment pouvoir éviter cela ?... Je dois préciser que je souhaiterais de
la même manière éviter que le clic sur le bouton "fermer" de la barre
de titre (alors que la form est disabled) ne ferme mon application
quand le programme externe se termine !...

Sinon pour enlever le bouton fermer :
Regarde les propriétés "Bordericons" et "borderstyle" il suffit de changer "bordericons" mais n'empeche de regarder l'effet de "borderstyle"
0
Rejoignez-nous