|
Récupérer la position d'un ascenseur dans une table |
Iniciado por caime, 03,ago. 2004 16:29 - 3 respuestas |
| |
| | | |
|
| |
Publicado el 03,agosto 2004 - 16:29 |
Bonjour,
J'ai besoin de récupérer la position de l'ascenseur horizontal d'une table mémoire afin de synchroniser une seconde table. Cependant, je ne peux utiliser événement 'Ascenseur horizontal (WM_HSCROLL)' de Windev car j'ai remarqué que lorsque l'on se déplace par la touche tab dans les cellules de la table, cet événement ne se déclenche pas.
Quelqu'un aurait-il une idée sur la manière de procéder ?
Merci d'avance pour les éventuelles réponses.
Christian |
| |
| |
| | | |
|
| | |
| |
Publicado el 03,agosto 2004 - 20:03 |
Dans le sens horizontal, le code suivant devrait marcher. Si tu réussi à l'adapter en vertical, post le code cela m'intéresse.
//sur l'événement Ascenseur horizontal de Table1 hwndbarh est un entier = AppelDLL32( "user32" , "FindWindowExA" , Handle(Table2) , Null , "WDSCROLLBAR" , Null ) SI hwndbarh ALORS SendMessage( Handle(Table2) , _EVE.wmessage , _EVE.wparam , hwndbarh ) FIN
// sur l'événement Ascenseur horizontal de Table2 hwndbarh est un entier = AppelDLL32( "user32" , "FindWindowExA" , Handle(Table1) , Null , "WDSCROLLBAR" , Null ) SI hwndbarh ALORS SendMessage( Handle(Table1) , _EVE.wmessage , _EVE.wparam , hwndbarh ) FIN
cordialement JCP
"Allegro" <caime@online.fr> a écrit dans le message de news:410f8554$1@news.pcsoft.fr...
Bonjour,
J'ai besoin de récupérer la position de l'ascenseur horizontal d'une table mémoire afin de synchroniser une seconde table. Cependant, je ne peux utiliser événement 'Ascenseur horizontal (WM_HSCROLL)' de Windev car j'ai remarqué que lorsque l'on se déplace par la touche tab dans les cellules de la table, cet événement ne se déclenche pas.
Quelqu'un aurait-il une idée sur la manière de procéder ?
Merci d'avance pour les éventuelles réponses.
Christian
|
| |
| |
| | | |
|
| | |
| |
Publicado el 03,agosto 2004 - 20:26 |
Merci de ta réponse.
Je connais le code que tu m'as transmis et il fonctionne parfaitement lorsque l'utilisateur déplace l'ascenseur à la souris.
Mon problème, c'est que lorsque l'utilisateur se déplace dans les colonnes de la table au moyen de la touche 'Tab' (ma table est en saisie), l'événement Ascenseur horizontal ne se déclenche pas et donc le code de repositionnement que tu décris n'est pas exécuté. Le problème est d'ailleurs identique lorsque l'utilisateur entre en saisie par un clic dans une colonne qui n'est que partiellement visible -> l'ascenseur horizontal se déplace mais l'événement Ascenseur Horizontal ne se déclenche pas; donc pas de synchronisation de la table associée.
Le code que tu m'as transmis fonctionne aussi avec l'ascenseur vertical, mais, d'après mes tests, les ascenseurs verticaux des deux tables doivent être affichés (ce qui n'est pas nécessaire avec le scrolling horizontal).
Merci de ta réponse.
Christian
"JCP" <puccettijc@aol.com> a écrit dans le message de news:410fb76c$1@news.pcsoft.fr...
Dans le sens horizontal, le code suivant devrait marcher. Si tu réussi à l'adapter en vertical, post le code cela m'intéresse.
//sur l'événement Ascenseur horizontal de Table1 hwndbarh est un entier = AppelDLL32( "user32" , "FindWindowExA" ,
Handle(Table2)
, Null , "WDSCROLLBAR" , Null ) SI hwndbarh ALORS SendMessage( Handle(Table2) , _EVE.wmessage , _EVE.wparam , hwndbarh ) FIN
// sur l'événement Ascenseur horizontal de Table2 hwndbarh est un entier = AppelDLL32( "user32" , "FindWindowExA" , Handle(Table1)
, Null , "WDSCROLLBAR" , Null ) SI hwndbarh ALORS SendMessage( Handle(Table1) , _EVE.wmessage , _EVE.wparam , hwndbarh ) FIN cordialement JCP "Allegro" <caime@online.fr> a écrit dans le message de news:410f8554$1@news.pcsoft.fr... Bonjour,
J'ai besoin de récupérer la position de l'ascenseur horizontal d'une
table
mémoire afin de synchroniser une seconde table. Cependant, je ne peux utiliser événement 'Ascenseur horizontal (WM_HSCROLL)' > > de Windev car j'ai remarqué que lorsque l'on se déplace par la touche tab
dans les cellules de la table, cet événement ne se déclenche pas.
Quelqu'un aurait-il une idée sur la manière de procéder ?
Merci d'avance pour les éventuelles réponses.
Christian
|
| |
| |
| | | |
|
| | |
| |
Publicado el 04,agosto 2004 - 11:28 |
Essaye de pister les événements de ta table et tiens-nous informés
la fonction Evénement avec 0 pou le message Windows renvoie tous les événements
// Evénement("proctrace", "maTable", 0)
procedure proctrace(Message, wParam, lParam) trace("Message " + Message + " wParam " + wParam + " lParam " + lParam) //
cette méthode m'a permis de trouver les événements suivants : 1743 Redimensionnement d'une colonne lParam+1 = le numéro de la colonne 1735 fin du survol d'un champ événements à vérifier
"Allegro" <caime@online.fr> a écrit dans le message de news:410fbcc5$1@news.pcsoft.fr...
Merci de ta réponse. Je connais le code que tu m'as transmis et il fonctionne parfaitement lorsque l'utilisateur déplace l'ascenseur à la souris. Mon problème, c'est que lorsque l'utilisateur se déplace dans les colonnes de la table au moyen de la touche 'Tab' (ma table est en saisie), l'événement Ascenseur horizontal ne se déclenche pas et donc le code de repositionnement que tu décris n'est pas exécuté. Le problème est d'ailleurs identique lorsque l'utilisateur entre en saisie par un clic dans une colonne qui n'est que partiellement visible -> l'ascenseur horizontal se déplace mais l'événement Ascenseur Horizontal ne se déclenche pas; donc pas de synchronisation de la table associée. Le code que tu m'as transmis fonctionne aussi avec l'ascenseur vertical, mais, d'après mes tests, les ascenseurs verticaux des deux tables doivent être affichés (ce qui n'est pas nécessaire avec le scrolling horizontal). Merci de ta réponse. Christian "JCP" <puccettijc@aol.com> a écrit dans le message de news:410fb76c$1@news.pcsoft.fr... Dans le sens horizontal, le code suivant devrait marcher. Si tu réussi à l'adapter en vertical, post le code cela m'intéresse.
//sur l'événement Ascenseur horizontal de Table1 hwndbarh est un entier = AppelDLL32( "user32" , "FindWindowExA" , Handle(Table2)
, Null , "WDSCROLLBAR" , Null ) SI hwndbarh ALORS SendMessage( Handle(Table2) , _EVE.wmessage , _EVE.wparam , hwndbarh ) FIN
// sur l'événement Ascenseur horizontal de Table2 hwndbarh est un entier = AppelDLL32( "user32" , "FindWindowExA" , Handle(Table1) , Null , "WDSCROLLBAR" , Null ) SI hwndbarh ALORS SendMessage( Handle(Table1) , _EVE.wmessage , _EVE.wparam , hwndbarh ) FIN cordialement JCP "Allegro" <caime@online.fr> a écrit dans le message de news:410f8554$1@news.pcsoft.fr... Bonjour,
J'ai besoin de récupérer la position de l'ascenseur horizontal d'une table
mémoire afin de synchroniser une seconde table. Cependant, je ne peux utiliser événement 'Ascenseur horizontal (WM_HSCROLL)' de Windev car j'ai remarqué que lorsque l'on se déplace par la touche tab dans les cellules de la table, cet événement ne se déclenche pas.
Quelqu'un aurait-il une idée sur la manière de procéder ?
Merci d'avance pour les éventuelles réponses.
Christian
|
| |
| |
| | | |
|
| | | | |
| | |
|