[VB2005] Commande Me.activate

Commande Me.activate [VB2005] - VB/VBA/VBS - Programmation

Marsh Posté le 22-07-2006 à 12:08:47    

Bonjour
 
Voila mon probleme, j'utilise la commande

Code :
  1. Me.activate

dans un timer de 100ms qui est enable
 
je veux en effet que ma fenêtre soit toujours en premier plan et qu'elle ait le focus.
 
lorsque je suis sous vb2005 mon programme fait bien ce que je lui dis de faire, alors je compile et tout se passe normalement.
 
lorsque je laisse vb ouvert, et que je lance le programme (compilé précédement) il garde bien toujours le focus (tout va bien). Si j'ouvre une autre fenêtre, mon prog se met toujours au premier plan en gardant le focus.
 
ce qui est embettant c'est que dès que je ferme vb et que je lance mon prog compilé, la fenêtre ne reste plus au premier plan et perd son focus.
 
si vous avez une idée d'ou vient le pb ou si vous essayez et que ca fait pareil chez vous, dites le moi parce que la je pète un câble :/
 
merci.
 
PS : La fonction

Code :
  1. me.topmost = true

ne me convient pas car elle ne garde pas le focus.


Message édité par rtp le 22-07-2006 à 12:09:46
Reply

Marsh Posté le 22-07-2006 à 12:08:47   

Reply

Marsh Posté le 24-07-2006 à 08:56:51    

Bonjour, peux tu m'expliquer ce que tu appelle le focus? Car si c'est bien ce que je pense (Fenêtre active) tu pourrai gêrer ça avec d'une part la méthode "me.topmost = true" et l'évènement "MyForm_Desactivate" dans lequel tu utiliserai "me.activate". Non testé mais je pense que ça pourrai satisfaire tes attentes =). Merci de me tenir au courant. Bon courage
:bounce:

Reply

Marsh Posté le 24-07-2006 à 13:13:58    

me.topmost = true ne garde pas le focus, si je clique ailleurs que sur ma fenêtre, elle restera qd meme en premier plan mais ne gardera pas le focus.
 
je suis au boulot donc pas encore pu tester myform_desactivate mais ce qui me parait etrange c'est que la fonction activate ne fonctionne QUE lorsque VB2k5 est lancé.

Reply

Marsh Posté le 24-07-2006 à 17:36:32    

Ah bon ? C'est étrange ça ;o
Je vais vérifier ça sur le champ ^^.

Reply

Marsh Posté le 24-07-2006 à 17:50:33    

Ok je viens de tester ça il me semble que ça marche. Voici mon bout de code:
 
Private Sub Form1_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate
    If Not Me.Focused Then
        Me.Activate()
    End If
End Sub
 
Si jamais ça ne marche pas correctement tente ceci:
 
Private Sub Form1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
    Me.Activate()
End Sub
 
Amuse toi bien :bounce:


Message édité par les gens roots le 24-07-2006 à 17:50:59
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed