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

focus sur un objet.

8 réponses
Avatar
deje
Bonjour,

Prenant contact avec Windev (7.5), je suis un peu dérouté par le jeu
d'instructions du W-langage, venant du C++, et VB.
Je recherche dans les manuels fournis par PCSoft, la commande qui permet de
donner le focus par programmation, à un objet appartenant une fenêtre, mais
sans succès. (Je suis peut-être passé tout près, mais sans la voir).
Par avance, merci pour votre aide.
DJ

8 réponses

Avatar
Yves.83
Regardes les commandes EcranPremier() et RepriseSaisie()
L'aide en ligne t'explira les différences
Salutations
Yves

"deje" a écrit dans le message de news:
417d2a0d$0$32467$
Bonjour,

Prenant contact avec Windev (7.5), je suis un peu dérouté par le jeu
d'instructions du W-langage, venant du C++, et VB.
Je recherche dans les manuels fournis par PCSoft, la commande qui permet


de
donner le focus par programmation, à un objet appartenant une fenêtre,


mais
sans succès. (Je suis peut-être passé tout près, mais sans la voir).
Par avance, merci pour votre aide.
DJ



Avatar
deje
Bonsoir Yves,
Merci pour votre réponse très rapide. En fait, elle porte sur le focus sur
un champ de saisie, mais j'ai besoin de connaître comment forcer le focus
aussi sur des objets comme des boutons, afin par exemple, qu'une pression
sur la touche Entrée déclenche l'évènement on click (sans suivre l'ordre des
tabulations), ou pour éviter que le focus porte sur un des champs de saisie
de la fenêtre.

Toutes les informations sur ce sujet m'intéressent et sont les bienvenues.
Merci infiniment pour votre aide.
DJ
Avatar
STASZEWSKI André
deje wrote:
Bonsoir Yves,
Merci pour votre réponse très rapide. En fait, elle porte sur le
focus sur un champ de saisie, mais j'ai besoin de connaître comment
forcer le focus aussi sur des objets comme des boutons, afin par
exemple, qu'une pression sur la touche Entrée déclenche l'évènement
on click (sans suivre l'ordre des tabulations), ou pour éviter que le
focus porte sur un des champs de saisie de la fenêtre.

Toutes les informations sur ce sujet m'intéressent et sont les
bienvenues. Merci infiniment pour votre aide.
DJ



Pour un bouton, il faut regarder dans sa description (volet "détail").
Section "type" et aussi "lettre d'appel"
Attention 1 seul bouton doit être déclarer en "validation" (touche Entrée")
et un seul en "abandon" (touche Echap")
Autre soluce : mettre un bouton en dehors de la fenêtre (au dessus) et le
mettre du type "interruption" avec comme lettre d'appel "Entrée".
Idem pour "Echap" ou autre touche de fonction quelconque..
--
Cordialement,
André STASZEWSKI
Nouvelle version 3.1 de Photo Visu sur www.PlaneteDev.fr.st
Contact ; Cliquez sur ce lien : http://cerbermail.com/?OT0Wnwyzph
Avatar
Yves.83
Un bouton en TAB stop (accessible par TAB)
peut également faire l'objet d'un RepriseSaisie()
L'appui sur la barre d'espace équivaut à un clic
dans ce cas là, situation vérifiable par la présence
du liseré de focus, si le style le permet.
La touche <Entrée> comme le dit André peut
déclencher prioritairement un bouton "Validation".
Personnellement je les désactive très souvent, (les
boutons "Validation"), au profit d'un raccourci clavier
uniformisé dans mes applis.
Yves


"deje" a écrit dans le message de news:
417d4757$0$280$
Bonsoir Yves,
Merci pour votre réponse très rapide. En fait, elle porte sur le focus sur
un champ de saisie, mais j'ai besoin de connaître comment forcer le focus
aussi sur des objets comme des boutons, afin par exemple, qu'une pression
sur la touche Entrée déclenche l'évènement on click (sans suivre l'ordre


des
tabulations), ou pour éviter que le focus porte sur un des champs de


saisie
de la fenêtre.

Toutes les informations sur ce sujet m'intéressent et sont les bienvenues.
Merci infiniment pour votre aide.
DJ



Avatar
deje
Vos solutions m'ont bien aidé. Je ne comprends toujours pas pourquoi on doit
passer par des instructions aussi peu logiques alors qu'un SetFocus sur
l'objet aurait simplifié le travail.
Tous mes remerciements pour vos promptes réponses.
(J'espère que je vais maîtriser Windev rapidement car je dois remplacer une
appli sous Access2000 qui contient environs 650 formulaires avec 75 tables
!)
J'aurai bien certainement d'autres questions, bien sûr si les réponse ne
sont pas dans les historiques des news.

Bien cordialement à tous.

D.Jupin
Avatar
pascal.roy
Heu, pourquoi Appelez une fonction/procedure SetFocus plutot que
EcranPremier ?
Personnellement, je ne vois pas le probleme ! :o)
Si un jour tu achetes un langage ou SetFocus devient
GoToControl, qu'est-ce-que ca changera, a part le fait de
devoir changer d'habitude ???

Pascal

deje a écrit :
Vos solutions m'ont bien aidé. Je ne comprends toujours pas pourquoi on
doit passer par des instructions aussi peu logiques alors qu'un SetFocus
sur l'objet aurait simplifié le travail.
Tous mes remerciements pour vos promptes réponses.
(J'espère que je vais maîtriser Windev rapidement car je dois remplacer
une appli sous Access2000 qui contient environs 650 formulaires avec 75
tables !)
J'aurai bien certainement d'autres questions, bien sûr si les réponse ne
sont pas dans les historiques des news.

Bien cordialement à tous.

D.Jupin






Avatar
deje
Bonsoir à tous,
Oui vous avez raison, je ne discuterai vos arguments, mais c'est plutôt plus
facile de rechercher un setfocus ou un gotocontrole qui parlent réellement
(surtout pour celui qui débute en WD) qu' une instruction EcranPremier que
je n'aurais même pas pensé rechercher dans l'aide tellement elle ne me cause
pas, quelque soit sa fonction. Quand on a l'habitude, c'est vrai qu'il n'y a
pas de différence.
Enfin, vous m'avez bien aidé à trouver ma solution et je vous remercie
vivement de m'avoir consacré de votre temps.
Bien cordialement à tous.
D.Jupin
Avatar
Christian
Bonsoir,

Un petit conseil pour nouvel arrivant, servez vous de l'aide de WD
celle-ci est trés bien faite.
Par exemple pour votre recherche...vous auriez tapé "Fenetre+Focus" et
vous seriez tombé sur une instruction "SysDonneFocus" qui vous indique
"La fonction SysDonneFocus permet de donner le focus à une fenêtre non
créée par WinDev. Pour donner le focus à un champ ou à une fenêtre
WinDev, utilisez la fonction RepriseSaisie." et de la ont vous indique
que "Définit le prochain champ qui sera en saisie dans la fenêtre en
cours. Ce champ aura le "focus" : les actions effectuées au clavier par
l'utilisateur seront dirigées vers ce champ. "

Cordialement.

Christian

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com