Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Quand ma form apparait à l'écran ?

5 réponses
Avatar
progo
Je cherche à savoir quand ma form réapparaît à l'écran (parceque
l'utilisateur en a affiché d'autre). J'utilise Gotfocus mais cela ne
déclenche pas l'événement.
Comment faire ?

5 réponses

Avatar
François Picalausa
Hello,

regarde du côté de l'événement Activate

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"progo" a écrit dans le message de
news:c5lpf1$ifu$
Je cherche à savoir quand ma form réapparaît à l'écran (parceque
l'utilisateur en a affiché d'autre). J'utilise Gotfocus mais cela ne
déclenche pas l'événement.
Comment faire ?


Avatar
Pascal B.
Bonjour progo

L'évenement à utiliser est Form_Activate.
Form_Gotfocus ne se déclenche que si la forme ne contient aucun controle pouvant recevoir le focus.

Amicalement
Pascal


"progo" a écrit dans le message de news:c5lpf1$ifu$
| Je cherche à savoir quand ma form réapparaît à l'écran (parceque
| l'utilisateur en a affiché d'autre). J'utilise Gotfocus mais cela ne
| déclenche pas l'événement.
| Comment faire ?
|
|
Avatar
progo
Pourtant l'evenement deactivate ne se déclanche pas quand ma form disparait
? et lostFocus non plus...
Il y a encore un détaille qui m'échape. Dsl je suis un peut ignorant.
Avatar
Pascal B.
Re-bonjour progo,

Il n'y a pas d'évenements (LostFocus ou Desactivate) qui se déclenchent
quand ce sont des forms d'autres applications qui l'ont désactivé.

Pascal


"progo" dans le message de news:c5m2ca$ss$ nous à répondu

| Pourtant l'evenement deactivate ne se déclanche pas quand ma form disparait
| ? et lostFocus non plus...
| Il y a encore un détaille qui m'échape. Dsl je suis un peut ignorant.
|
|
Avatar
Guy DETIENNE
Salut ;O)

Il me semble avoir déjà eu ton problème.
Pour y remédier, voici ma façon de faire. Certes ce n'est pas la plus 'pro'
mais ca a le mérité de palier à quelques manquements.
C'est perfectible, donc le code est là pour une simple inspiration.

Pour ce faire, crée un nouveau Form et place un Timer et colle ceci dans le
code:

'En en-tête
Private Declare Function GetForegroundWindow Lib "user32" () As Long

Private Sub Form_Load()
Me.Timer1.Interval = 300
End Sub

Private Sub Timer1_Timer()

Dim Ret As Long
Ret = GetForegroundWindow()

If Ret <> Me.hWnd Then
Me.Cls
Print "Je n'ai plus le focus"
Else
Me.Cls
Print "J'ai le focus"
End If

End Sub

Tchao

Guy

"progo" a écrit dans le message de
news:c5lpf1$ifu$
Je cherche à savoir quand ma form réapparaît à l'écran (parceque
l'utilisateur en a affiché d'autre). J'utilise Gotfocus mais cela ne
déclenche pas l'événement.
Comment faire ?