ShowMessage/ShowModal sans focus

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