|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Alain PUJOL Inscription : octobre 2010 Messages : 21 ![]() |
Bonjour,
J'affiche des données dans un formulaire continu. Lorsqu'un text box reçois le focus je voudrais connaitre sa position sur l'écran pour y superposer un rectangle. Comment récupérer sa position? Merci pour vos réponses |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour
Que veux-tu dire par y superposer un rectangle ? Est-ce que ce rectangle existe déjà dans ton formulaire ou veux-tu le créer dynamiquement ? Car dans ce dernier cas, il y aura des soucis car le formulaire doit être en mode création. Peux-tu aussi expliquer le but de cette manœuvre. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Alain PUJOL Inscription : octobre 2010 Messages : 21 ![]() |
Pour plus de précision,
Je voudrais que lorsque le focus est mis sur un champ dont les données sont modifiables celui-ci soit encadré. Je fais déjà cela dans les formulaires uniques en jouant avec les bordures des champs sur réeption et perte du focus, mais cela n'est pas possible avec les formulaires continus. j'imaginais donc à partir d'un rectangle qui serait déjà dessiné et masqué, le positionner pour qu'il encadre le champ actif. Je ne sais pas du tout si cela pourra fonctionner. Pour l'instant je n'ai pas trouvé comment récupérer la position à laquelle est affiché le champ sur l'écran et c'est l'objet de ma question. Merci pour vos réflexions |
|
|
00
|
|
|
#4 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Citation:
Sinon, pour répondre à la question il faut jouer avec les propriétés Left, Top, Width et Height du rectangle. Le contrôle Textbox possède aussi ces propriétés. Un autre moyen de mettre en évidence le contrôle qui a le focus, est la mise en forme conditionnelle. Il y a une condition "champ activé". A+ |
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Alain PUJOL Inscription : octobre 2010 Messages : 21 ![]() |
La mise en forme conditionnelle ne permet malheureusement pas de modifier l'apparence du champ (bordure..). Cette fonction ne m'apporte pas de solution,
c'est bien un cadre que je souhaite pour mettre en évidence le champ actif. Citation : Sinon, pour répondre à la question il faut jouer avec les propriétés Left, Top, Width et Height du rectangle. Le contrôle Textbox possède aussi ces propriétés. effectivement je pensais bien travailler sur ces paramètres, à condition de connaitre la position à l'écran du textbox. je laisse mon message ouvert à tous ceux qui auraient la solution |
|
|
00
|
|
|
#6 |
![]() ![]() |
Bonjour
Je pense que tu pourrais lire ce tuto : Mise en surbrillance d'un enregistrement dans un formulaire Access Bien que ce soit fait sur toute la ligne, tu devrais peut-être pouvoir l'adapter. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#7 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonsoir,
On n'a pas besoin nécessairement de connaître la position à l'écran du contrôle TextBox. Si les deux contrôles (TextBox et Rectangle) sont dans la même section : Code :
Pour le positionner autour d'un contrôle TextBox, on passe ce dernier en paramètre à la sub. La proposition de Philippe fonctionne.On combine la solution du tutoriel avec un code du genre de celui que j'ai posté, en l'appliquant non plus à un rectangle, mais à la zone de texte qui sert à mise en surbrillance. A+ |
||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Alain PUJOL Inscription : octobre 2010 Messages : 21 ![]() |
Bonsoir,
Je réponds en premier à Ledzepp que je remercie. J'ai testé le bout de code, mais je n'ai pas trouvé que passer à ctl. J'ai pensé qu'il fallait appeler le sub lorsque le contrôle reçoit le focus du style Encadrer (me.activecontrol.name) mais cela génère une erreur. Je suis prenneur de plus de précision. Entre temps, j'ai regardé plus en détail la propo de Philippe. J'avais fait un test hier au soir, mais je n'avais pas trouvé comment modifier la solution proposée dans le tuto. Devant l'insistance de Philippe, j'ai trouvé une solution que je décris ci dessous. Cela pourra certainement servir à quelqu'un. Donc à partir du tuto de Jean Philippe: Il faut dupliquer le txtBackGround autant de fois que de contrôles à mettre en évidence sur la ligne. Ensuite créer un contrôle que j'ai nonmé ctlCol et qui sera masqué. Ensuite pour chaque contrôle qui sera mis en évidence, sur réception focus, du contrôle positionner son N° d'ordre sur la ligne dans ctlCol tel que, pour le premier contrôle --> Me.ctlCol = 1 pour le 2ème ---> Me.ctlCol = 2 ect et sur perte focus --> me.ctlcol=0 (si O n'est pas utilisé) je modifie pour chaque txtBackGround correspondant à chaque contrôle la formule =VraiFaux([SelTop]=[ctlCurline];"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ";Null) en rajoutant pour le premier =VraiFaux([SelTop]=[ctlCurline];VraiFaux([ctlCol]=1;"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ";Null);Null) pour le deuxième =VraiFaux([SelTop]=[ctlCurline];VraiFaux([ctlCol]=2;"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ";Null);Null) ect Ce sont les seules modifications à apporter à la solution de Jean Philippe (merci à lui). Par manque de maitrise du forum, mon message n'est peut être pas clair. En tous cas merci à ceux qui m'ont répondu |
|
|
00
|
|
|
#9 | |||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Citation:
Exemple dans la procédure événementielle "sur réception focus" d'un contrôle txtChp1 : Code :
mais cela ne fonctionne pas dans un formulaire en continu. A+ |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com