ShowMessage/ShowModal sans focus [Résolu]

Signaler
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
-
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
-
Hello
Est-il possible d'afficher un ShowMessage ou même une fenêtre en Modal sans que l'application reprenne le focus sur celle en cours ?
Ex: Je lance mon Project1.exe qui fait un ShowMessage('salut'); 30 secondes après son ouverture grace à un Timer.
Je suis maintenant sous NotePad, j'attends 30 secondes et HOP, le showmessage passe devant ...
Je souhaite qu'il reste SOUS notepad tout est en étant au premier plan sur Project1 !
Cela est-il possible ?
merci

3 réponses

Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
14
Salut Julio,

Je ne comprends pas bien ta question.
J'essaie de reproduire ton problème, et chez moi, le comportement que tu recherches est celui par défaut :

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
  begin
  Timer1.Interval := 5000;//Ici, 5 sec d'attente.
  Timer2.Interval := 1000;
  Timer2.Enabled := false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
  begin
  Timer2.Enabled := true;
  ShowMessage('salut');
end;

procedure TForm1.Timer2Timer(Sender: TObject);
  begin
  Timer1.Enabled := false;
end;

END.
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
J'avais tout fait "de tête" en pensant que c'était ce comportement -_-
L'application qui me pose problème est donc codée pour que les fenêtres prennent le focus, bon bah tu peux rien pour moi ^^
Merci quand même d'avoir testé !
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
Salut,

essaye avec une MessageBox et regarde du coté des flags :
MB_APPLMODAL = $00000000;
MB_SYSTEMMODAL = $00001000;
MB_TASKMODAL = $00002000;

il faut peut être le forcer chez toi


[hr]@+Cirec
[hr]