[Catégorie modifiée VB6 -> VBA] Changement d'application pendant le déroulement

hjtoto Messages postés 2 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 6 mai 2011 - 5 mai 2011 à 17:58
hjtoto Messages postés 2 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 6 mai 2011 - 6 mai 2011 à 20:48
Bonjour,
J'ai développé un petit jeu de tetris en Visual Basic 6.3 sous excel, mais pendant le déroulement du jeu, je voudrais cliquer dans une autre application (Word, etc...).
Quand je reviens dans le jeu, la fenêtre est blanche, le programme tourne toujours et lorsqu'il s'arrête automatiquement la fenêtre se réaffiche normalement.
Avez-vous une solution simple à ce problème.
Merci d'avance.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 mai 2011 à 20:09
Salut

Que fait ton programme pendant que tu attends la fin automatique ?
As-tu une boucle qui tourne ?
Y a t-il un DoEvents dans cette boucle qui rend la main au système à chaque tour ?
Si ton programme tourne dans une forme, mets un 'piège' (un Debug.Print Time) dans le Form_Activate pour voir si tu y passes lors de la reprise du focus.
Sinon, regarde voir s'il y a un évènement _Activate sur ta feuille/classeur

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
hjtoto Messages postés 2 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 6 mai 2011
6 mai 2011 à 20:48
Salut
Merci pour ces premiers conseils.
Oui, il y a une boucle qui arrête le programme automatiquement lorqu'on ne peut plus mettre de pièce en haut du Tetris.
Je n'ai pas de DoEvents, je n'ai pas de forme et pas d'événement Activate.
J'utilise uniquement GetAsyncKeyState pour la saisie des commandes fléches au clavier et je joue avec les cellules que j'allume les unes après les autres pour simuler le mouvement.

HJTOTO
0
Rejoignez-nous