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

focus

19 réponses
Avatar
michael
Bonjour, j'ai du mal a programmer des focus... sur des bouton command, ou
checkbox, option box etc... Quelle est la notation à utiliser?? quelqu'un
aurait t'il un exemple simple a me donner???

Y a t'il aussi dans le meme ordre d'idée de placer le curseur de la souris
sur l'objet qui a le focus (essentiellement sur le bouton commande)???
merci d'avance mais c'est un détail qui me gache mon programme...

10 réponses

1 2
Avatar
LE TROLL
Bonjour,

objet.SetFocus

Pour la souris, (peut être d'autre méthodes),
exemple

objet.SetFocus
pointeur_colonne = objet_focus.Left + x_unités
pointeur_ligne = objet_focus.Top + x_unités

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" a
écrit dans le message de news:

| Bonjour, j'ai du mal a programmer des focus...
sur des bouton command, ou
| checkbox, option box etc... Quelle est la
notation à utiliser?? quelqu'un
| aurait t'il un exemple simple a me donner???
|
| Y a t'il aussi dans le meme ordre d'idée de
placer le curseur de la souris
| sur l'objet qui a le focus (essentiellement sur
le bouton commande)???
| merci d'avance mais c'est un détail qui me gache
mon programme...
Avatar
michael
je n'y arrive pas, il me met 'Invalid procedure call or argument'
J'avais dejà essaié ca mais ca n'a jamais fonctionné...
Comment ca se fait??? Il doit y avoir qqc que je fais pas correctement...

"LE TROLL" a écrit :

Bonjour,

objet.SetFocus

Pour la souris, (peut être d'autre méthodes),
exemple

objet.SetFocus
pointeur_colonne = objet_focus.Left + x_unités
pointeur_ligne = objet_focus.Top + x_unités

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" a
écrit dans le message de news:

| Bonjour, j'ai du mal a programmer des focus...
sur des bouton command, ou
| checkbox, option box etc... Quelle est la
notation à utiliser?? quelqu'un
| aurait t'il un exemple simple a me donner???
|
| Y a t'il aussi dans le meme ordre d'idée de
placer le curseur de la souris
| sur l'objet qui a le focus (essentiellement sur
le bouton commande)???
| merci d'avance mais c'est un détail qui me gache
mon programme...





Avatar
michael
Ok j'ai vu qu'il fallait que je mette ca dans l'evenement activate de la
form...
autant pour moi...

"michael" a écrit :

je n'y arrive pas, il me met 'Invalid procedure call or argument'
J'avais dejà essaié ca mais ca n'a jamais fonctionné...
Comment ca se fait??? Il doit y avoir qqc que je fais pas correctement...

"LE TROLL" a écrit :

> Bonjour,
>
> objet.SetFocus
>
> Pour la souris, (peut être d'autre méthodes),
> exemple
>
> objet.SetFocus
> pointeur_colonne = objet_focus.Left + x_unités
> pointeur_ligne = objet_focus.Top + x_unités
>
> --
> Romans, logiciels, email, site personnel
> http://irolog.free.fr/joe.htm
> ------------------------------------------------------------------------------------
> "michael" a
> écrit dans le message de news:
>
> | Bonjour, j'ai du mal a programmer des focus...
> sur des bouton command, ou
> | checkbox, option box etc... Quelle est la
> notation à utiliser?? quelqu'un
> | aurait t'il un exemple simple a me donner???
> |
> | Y a t'il aussi dans le meme ordre d'idée de
> placer le curseur de la souris
> | sur l'objet qui a le focus (essentiellement sur
> le bouton commande)???
> | merci d'avance mais c'est un détail qui me gache
> mon programme...
>
>
>


Avatar
Jacques93
Bonjour michael,
michael a écrit :
Bonjour, j'ai du mal a programmer des focus... sur des bouton command, ou
checkbox, option box etc... Quelle est la notation à utiliser?? quelqu'un
aurait t'il un exemple simple a me donner???

Y a t'il aussi dans le meme ordre d'idée de placer le curseur de la souris
sur l'objet qui a le focus (essentiellement sur le bouton commande)???
merci d'avance mais c'est un détail qui me gache mon programme...



Pour donner le focus à un contrôle utilisant le clavier (Textbox, par
exemple), la méthode SetFocus est normalement suffisante), les curseurs
clavier et souris étant indépendants.

Par contre si tu veux positionner le curseur de la souris à un endroit
précis, un bouton de commande par exemple, tu peux adapter ceci, où un
click sur le bouton 1, positionnera le pointeur de la souris sur le
bouton 2 :

Private Declare Sub mouse_event Lib "User32" (ByVal dwFlags As Long, _
ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)

Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_MIDDLEDO = &H20
Private Const MOUSEEVENTF_MIDDLEUP = &H40
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_RIGHTDOW = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10

Private Sub Command1_Click()
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, _
(Me.Left + Me.Command2.Left + Me.Command2.Width / 2) / _
Screen.Width * 65535, _
(Me.Top + Me.Command2.Top + Me.Command2.Width / 2) / _
Screen.Height * 65535, _
0&, 0&
End Sub


Mais ce type de fonctionnement est parfois (souvent en ce qui me
concerne), déconcertant pour l'utilisateur : on ne sait plus où est
passée la souris !!! Ou qui l'a fait bouger ? ;-)

--
Cordialement,

Jacques.
Avatar
jean-marc
"michael" wrote in message
news:
Ok j'ai vu qu'il fallait que je mette ca dans l'evenement activate de la
form...
autant pour moi...



Hello,

ne pas oublier que l'évènement form_activate peut être appellé
plusieurs fois et pas seulement une seule fois à l'ouverture du programme.

Si ta forme en lance une autre par exemple, Activate sera déclenché après
la fermeture de la seconde.

Pour se prémunir d'éventuels effets non désirés et garantir que l'exécution
ne se fera qu'une fois et une seule, on a en général recours à une
variable statique, qu'on utilise comme ceci:

Private Sub Form_Activate()
Static b_done As Boolean

If Not b_done Then
'
' Mettre ici les setfocus
'
b_done = True
End If

End Sub

Ainsi, on a la garantie que le code ne sera exécuté réellement qu'une fois.

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
jean-marc
"michael" wrote in message
news:
Bonjour, j'ai du mal a programmer des focus... sur des bouton command, ou
checkbox, option box etc... Quelle est la notation à utiliser?? quelqu'un
aurait t'il un exemple simple a me donner???

Y a t'il aussi dans le meme ordre d'idée de placer le curseur de la souris
sur l'objet qui a le focus (essentiellement sur le bouton commande)???



Hello,

Comme jacques l'a signalé, même si c'est techniquement faisable,
ce n'est certainement pas une bonne idée de déplacer la souris.
C'est contre toutes les rêgles de design graphique, donc sauf à
avoir une vraie bonne raison (accès à des personnes porteuses
d'un handicap ou autre contraintes), c'est vraiment déconseillé.

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
Jacques93
Bonjour jean-marc, michael, LE TROLL, et tout le monde,
jean-marc a écrit :
"michael" wrote in message
news:
Bonjour, j'ai du mal a programmer des focus... sur des bouton command, ou
checkbox, option box etc... Quelle est la notation à utiliser?? quelqu'un
aurait t'il un exemple simple a me donner???

Y a t'il aussi dans le meme ordre d'idée de placer le curseur de la souris
sur l'objet qui a le focus (essentiellement sur le bouton commande)???



Hello,

Comme jacques l'a signalé, même si c'est techniquement faisable,
ce n'est certainement pas une bonne idée de déplacer la souris.
C'est contre toutes les rêgles de design graphique, donc sauf à
avoir une vraie bonne raison (accès à des personnes porteuses
d'un handicap ou autre contraintes), c'est vraiment déconseillé.




Je proposerai une autre raison, tout à fait valable et légitime : avoir
l'humour taquin.
D'ailleurs chez MS ils n'en manque pas... Ayant oublié de signaler le
lien de l'API mouse_event chez MSDN, et n'ayant pas expliqué le pourquoi
du comment du calcul des coordonnées, tout est ici :

http://msdn2.microsoft.com/en-us/library/ms646260(VS.85).aspx

l'unité de déplacement, et de positionnement de la souris se fais en ...
MICKEY !!!

Walt Disney touche t-il des royalties a chaque déplacement de souris ?

:-D

--
Cordialement,

Jacques.
Avatar
LE TROLL
Ah, il faut qu'au momoent où tu donnes le focus,
ton obje soit en mesure de le recevoir, et soit
prévu pour cette fonction...

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" a
écrit dans le message de news:

| je n'y arrive pas, il me met 'Invalid procedure
call or argument'
| J'avais dejà essaié ca mais ca n'a jamais
fonctionné...
| Comment ca se fait??? Il doit y avoir qqc que je
fais pas correctement...
|
| "LE TROLL" a écrit :
|
| > Bonjour,
| >
| > objet.SetFocus
| >
| > Pour la souris, (peut être d'autre
méthodes),
| > exemple
| >
| > objet.SetFocus
| > pointeur_colonne = objet_focus.Left +
x_unités
| > pointeur_ligne = objet_focus.Top +
x_unités
| >
| > --
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
> ------------------------------------------------------------------------------------
| > "michael"
a
| > écrit dans le message de news:
| >

| > | Bonjour, j'ai du mal a programmer des
focus...
| > sur des bouton command, ou
| > | checkbox, option box etc... Quelle est la
| > notation à utiliser?? quelqu'un
| > | aurait t'il un exemple simple a me donner???
| > |
| > | Y a t'il aussi dans le meme ordre d'idée de
| > placer le curseur de la souris
| > | sur l'objet qui a le focus (essentiellement
sur
| > le bouton commande)???
| > | merci d'avance mais c'est un détail qui me
gache
| > mon programme...
| >
| >
| >
Avatar
Jean-marc
Jacques93 wrote:
Bonjour jean-marc, michael, LE TROLL, et tout le monde,
jean-marc a écrit :
"michael" wrote in message
news:






Je proposerai une autre raison, tout à fait valable et légitime :
avoir l'humour taquin.
D'ailleurs chez MS ils n'en manque pas... Ayant oublié de signaler le
lien de l'API mouse_event chez MSDN, et n'ayant pas expliqué le
pourquoi du comment du calcul des coordonnées, tout est ici :

http://msdn2.microsoft.com/en-us/library/ms646260(VS.85).aspx

l'unité de déplacement, et de positionnement de la souris se fais en
... MICKEY !!!



Et oui, c'est effectivement le Mickey, et ceci même avant Windows.
Ayant programmé des applications sous Dos avec support de la souris
(ah, les joies de l'interruption 0X33h !!), je me rapelle fort bien
qu'à l'époque, vers 1988 donc, c'était déjà des mickeys :--))


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
michael
Moi ce que je veux c'est uniquement placer le curseur de la souris sur le
bouton 'command1' avec dessus ecris 'OK' qui n'est qu'une form pour confirmé
un choix, je ne crois pas que se soit si rare que ca?
merci

"Jacques93" a écrit :

Bonjour jean-marc, michael, LE TROLL, et tout le monde,
jean-marc a écrit :
> "michael" wrote in message
> news:
>> Bonjour, j'ai du mal a programmer des focus... sur des bouton command, ou
>> checkbox, option box etc... Quelle est la notation à utiliser?? quelqu'un
>> aurait t'il un exemple simple a me donner???
>>
>> Y a t'il aussi dans le meme ordre d'idée de placer le curseur de la souris
>> sur l'objet qui a le focus (essentiellement sur le bouton commande)???
>
> Hello,
>
> Comme jacques l'a signalé, même si c'est techniquement faisable,
> ce n'est certainement pas une bonne idée de déplacer la souris.
> C'est contre toutes les rêgles de design graphique, donc sauf à
> avoir une vraie bonne raison (accès à des personnes porteuses
> d'un handicap ou autre contraintes), c'est vraiment déconseillé.
>

Je proposerai une autre raison, tout à fait valable et légitime : avoir
l'humour taquin.
D'ailleurs chez MS ils n'en manque pas... Ayant oublié de signaler le
lien de l'API mouse_event chez MSDN, et n'ayant pas expliqué le pourquoi
du comment du calcul des coordonnées, tout est ici :

http://msdn2.microsoft.com/en-us/library/ms646260(VS.85).aspx

l'unité de déplacement, et de positionnement de la souris se fais en ...
MICKEY !!!

Walt Disney touche t-il des royalties a chaque déplacement de souris ?

:-D

--
Cordialement,

Jacques.



1 2