MsgBox en avant plan

aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 - 29 juin 2006 à 14:16
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 30 juin 2006 à 13:42
Salut!!

J'ai une appli VB6 qui tourne en arrière plan en meme temps qu'une autre application.
La première appli envoi une message box. Comment faire pour qu'elle apparaisse devant l'autre application svp?

Merci :)

11 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
29 juin 2006 à 16:11
VB6 à les procédures "GoForward" et "GoBack"? Si oui peut être (il me semble que c'a serv à cas)?
Zorder (serv à géré les positions en profondeur des fenaires)?
Si non je ne sais pas (je n'ai pas VB6 sous la main)
Bon courage

D'oh! Nuts!
Mmmmm...
 DONUTS
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 juin 2006 à 17:27
salut,
çà ne fonctionne pas comme çà pour un msgbox non....
il faut utiliser l'API messagebox et y attacher le handle de la 1ère appli

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
29 juin 2006 à 17:31
Moi je pensai faire passée l'appli en 1ér plan avant de
faire s'afficher le msgbox.





D'oh! Nuts!
Mmmmm...
 DONUTS
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 juin 2006 à 17:52
c'est ce que fait (par défaut) le msgbox si la form est visible

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
30 juin 2006 à 08:39
Heeeee, non c'est pas ca que j'avais en tête mais de rendre visible la form si ce n'est pas le cas puis la faire passée au 1ér plan (en mode fullscren ou normal) puis afficher le msgbox. Tu affiche le msgbox dans tout les cas (invisible, reduit, derierre une autre form). Par contre je ne sais pas utiolisé l'API messagebox. Tu peut m'expliquer en deux mot PCPT?
Merci

D'oh! Nuts!
Mmmmm...
 DONUTS
aurelien2723 Messages postés 181 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 26 janvier 2011 1
30 juin 2006 à 10:26
Salut

Merci de vos réponses :)

La première application, celle qui est en avant plan n'est pas du tout du VB... Enfin je peux pas la modifier.

La solution serait d'utiliser une form plutot qu'une message box??
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
30 juin 2006 à 10:30
Mais tu n'a pas à toucher à l'autre appli. Les procédure "zorder", "GoForward", et "GoBack", n'existe pas en VB6? Tu les applique à l'objet application. Si non il existe des procédures pour "Agrandir" ou "Réduire" mais je ne me souvien plus de la syntax (si quelqu'un la connais). verif "hide" je me demande si ca ne serais pas quelqu'que chose comme cas.

D'oh! Nuts!
Mmmmm...
 DONUTS
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
30 juin 2006 à 10:33
Heeee, si non c'est "WindowState" pour réduir agrandire il me semble (verif l'aide pour l'utilisation)

D'oh! Nuts!
Mmmmm...
 DONUTS
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2006 à 13:27
salut,

Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

Polack77 -> et non, il n'y a pas GoForward GoBack sous VB6, et zorder ne fonctionne que pour l'appli elle-même (pas d'interaction avec une appli externe).
pour jouer sur le zorder comme tu l'entends (et comme aurelien2723 l'entend), il faut alors modifier le style de la form (donc  forcément d'une form perso, donc d'un msgbox fait maison).

voir API SetWindowPos.

pour rester en msgbox, le meilleur moyen (à mon goût) reste l'API MessageBox à attacher au Handle de l'autre appli (récupérable par le titre par exemple, voir ici : FindWindow).
par contre de mémoire, le petit défaut est que la création de cette msgbox crée un "bouton" dans la barre des tâches (peut-être que si le handle est utilisé pour zéro, à vérifier).

un exemple de SetWindowPos, voir ma source ici (propriété zOrder....)

++
PCPT   [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
30 juin 2006 à 13:31
"active" n'existe pas non plus sous VB6? Pas pratique si c'est le cas.
Bon ba la preuve est faite : "Je suis null en VB6!"

D'oh! Nuts!
Mmmmm...
 DONUTS
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2006 à 13:42
n'existe pas non plus ^^
mais on se rattrape avec un évènement activate

la méthode qui s'en rapprocherait le plus serait .SetFocus, mais çà ne donnerait toujours rien par rapport au bureau ou à une apli externe...

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Rejoignez-nous