ShowMessage/ShowModal sans focus

Résolu
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 28 oct. 2009 à 10:38
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 30 oct. 2009 à 15:40
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

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
28 oct. 2009 à 16:59
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.
3
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
28 oct. 2009 à 17:11
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é !
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
30 oct. 2009 à 15:40
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]
0
Rejoignez-nous