|
Débuté par Etienne Poirier, 27 mar. 2009 21:36 - 8 réponses |
| |
| | | |
|
| |
Posté le 27 mars 2009 - 21:36 |
J'aimerais savoir comment syncronisé le déplacement d'un ascenceur d'une table avec l'ascenceur d'une seconde table qui ont le même nombre de ligne, donc la même hauteur.
Merci
Étienne
PS, j'ai vu des post qui parle de WM_VSCROLL avec un évènement Windows, mais je n'ai pas réussi à trouver une combinaison gagnante. |
| |
| |
| | | |
|
| | |
| |
Posté le 31 mars 2009 - 09:13 |
Bonjour Étienne, Voici le code que j'utilise pour synchroniser le déplacement des ascenseurs de 2 tables, mais horizontalement, pas verticalement. Tu peux peut-être utiliser ce code et le modifier avec les bonnes valeurs pour le déplacement vertical.
Dans le code d'initialisation de la fenêtre:
CONSTANT SB_THUMBTRACK = 5 CONSTANT WM_HSCROLL = 276 AppelDLL32( "user32", "SetScrollRange", Handle(Table_A), sbHorz, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(Table_B), sbHorz, 0, 4096, True)
Procédure locale getScrollPos:
Procedure getScrollPos(ObjectName est une chaîne)
hwnd est un entier sans signe = Handle(ObjectName) nPos est un entier = AppelDLL32("USER32","GetScrollPos", hwnd, sbHorz) RENVOYER nPos
Procédure locale MakeLong:
Procedure MakeLong(wLow est un entier, wHigh est un entier)
RENVOYER wLow + (0x10000 * wHigh)
Procédure locale SyncTables:
Procedure SyncTables() nPos est un entier hwnd_barre_h est un entier
hwnd_barre_h = AppelDLL32( "user32" , "FindWindowExA" , Handle(Table_A) , Null, "WDSCROLLBAR" , Null )
SI hwnd_barre_h ALORS nPos = getScrollPos(Table_A..Nom) SendMessage( Handle(Table_B), WM_HSCROLL, MakeLong(SB_THUMBTRACK, nPos), hwnd_barre_h) FIN
Code 'Ascenseur horizontal (WM_HSCROLL) de Table_A'
SyncTables()
Code 'Touche relachée (WM_KEYUP) de Table_A'
SyncTables()
Le déplacement de l'ascenseur horizontal de la Table_A bouge automatiquement l'ascenseur de la Table_B.
En espérant t'avoir aidé.
Christian
Etienne Poirier a écrit dans le message de news <49cd233c$1@news.pcsoft.fr> :
J'aimerais savoir comment syncronisé le déplacement d'un ascenceur d'une table avec l'ascenceur d'une seconde table qui ont le même nombre de ligne, donc la même hauteur.
Merci
Étienne
PS, j'ai vu des post qui parle de WM_VSCROLL avec un évènement Windows, mais je n'ai pas réussi à trouver une combinaison gagnante.
|
| |
| |
| | | |
|
| | |
| |
Posté le 31 mars 2009 - 16:45 |
Merci, je vais essayer de l'adapter à mon besoin.
Bonjour Étienne, Voici le code que j'utilise pour synchroniser le déplacement des ascenseurs de 2 tables, mais horizontalement, pas verticalement. Tu peux peut-être utiliser ce code et le modifier avec les bonnes valeurs pour le déplacement vertical. Dans le code d'initialisation de la fenêtre: CONSTANT SB_THUMBTRACK = 5 CONSTANT WM_HSCROLL = 276 AppelDLL32( "user32", "SetScrollRange", Handle(Table_A), sbHorz, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(Table_B), sbHorz, 0, 4096, True)
Procédure locale getScrollPos: Procedure getScrollPos(ObjectName est une chaîne)
hwnd est un entier sans signe = Handle(ObjectName) nPos est un entier = AppelDLL32("USER32","GetScrollPos", hwnd, sbHorz) RENVOYER nPos Procédure locale MakeLong: Procedure MakeLong(wLow est un entier, wHigh est un entier)
RENVOYER wLow + (0x10000 * wHigh) Procédure locale SyncTables: Procedure SyncTables() nPos est un entier hwnd_barre_h est un entier
hwnd_barre_h = AppelDLL32( "user32" , "FindWindowExA" , Handle(Table_A) , Null, "WDSCROLLBAR" , Null )
SI hwnd_barre_h ALORS nPos = getScrollPos(Table_A..Nom) SendMessage( Handle(Table_B), WM_HSCROLL, MakeLong(SB_THUMBTRACK, nPos), hwnd_barre_h) FIN Code 'Ascenseur horizontal (WM_HSCROLL) de Table_A' SyncTables() Code 'Touche relachée (WM_KEYUP) de Table_A' SyncTables() Le déplacement de l'ascenseur horizontal de la Table_A bouge automatiquement l'ascenseur de la Table_B. En espérant t'avoir aidé. Christian Etienne Poirier a écrit dans le message de news <49cd233c$1@news.pcsoft.fr> : J'aimerais savoir comment syncronisé le déplacement d'un ascenceur d'une table avec l'ascenceur d'une seconde table qui ont le même nombre de ligne, donc la même hauteur.
Merci
Étienne
PS, j'ai vu des post qui parle de WM_VSCROLL avec un évènement Windows, mais je n'ai pas réussi à trouver une combinaison gagnante.
|
| |
| |
| | | |
|
| | |
| |
Posté le 14 avril 2009 - 11:54 |
Salut Etienne, Ton post est intéressant, j'ai corrigé mais je ne comprends pas ces valeurs dans mon cas ce sont pout des ascenceurs verticals
Variables pour synchro des ascenseurs des tables CONSTANT SB_THUMBTRACK = 5 ou je trouve cette valeur CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_A), sbVert, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_, sbVert, 0, 4096, True)
@bientôt bruno |
| |
| |
| | | |
|
| | |
| |
Posté le 15 avril 2009 - 19:16 |
Bonjour
> CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur
C:\WinDev 14\Personnel\Externe\Winconst.wl
Cordialement
Albert
abflm wrote in news message <ad3efc98db7e1fffe036939ad5ecccca@news.pcsoft>:
Salut Etienne, Ton post est intéressant, j'ai corrigé mais je ne comprends pas ces valeurs dans mon cas ce sont pout des ascenceurs verticals Variables pour synchro des ascenseurs des tables CONSTANT SB_THUMBTRACK = 5 ou je trouve cette valeur CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_A), sbVert, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_ , sbVert, 0, 4096, True) @bientôt bruno |
| |
| |
| | | |
|
| | |
| |
Posté le 16 avril 2009 - 02:05 |
Voici ce que je pratique depuis longtemps :
res est un entier = TableSelect(TABLE_Anamneses) TableSelectPlus(TABLE_Hypotheses,res) TableSelectPlus(TABLE_Conclusions,res)
Et ainsi, toutes les 3 tables sont synchro.
Amicalement
Albert Goes a écrit dans le message de news <7ab2301cea805ab32b7fedb467380dc2@news.pcsoft> :
Bonjour CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur
C:\WinDev 14\Personnel\Externe\Winconst.wl Cordialement Albert abflm wrote in news message <ad3efc98db7e1fffe036939ad5ecccca@news.pcsoft>: Salut Etienne, Ton post est intéressant, j'ai corrigé mais je ne comprends pas ces valeurs dans mon cas ce sont pout des ascenceurs verticals Variables pour synchro des ascenseurs des tables CONSTANT SB_THUMBTRACK = 5 ou je trouve cette valeur CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_A), sbVert, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_ , sbVert, 0, 4096, True) @bientôt bruno |
| |
| |
| | | |
|
| | |
| |
Posté le 17 avril 2009 - 11:03 |
Salut , J'ai 2 tables côte à côte ou les lignes doivent correspondre pour la selection pas de prb, mais au moment ou l'acenseur vertical ce déclanche je n'ai qu'une table qui descend et je voudrais que la 2eme table bouge également et là je coinçe... merci de ton aide André Bruno
André G. GELB a écrit dans le message de news <e5a17ee514ac24c68bb48317f1eba246@news.pcsoft> :
Voici ce que je pratique depuis longtemps : res est un entier = TableSelect(TABLE_Anamneses) TableSelectPlus(TABLE_Hypotheses,res) TableSelectPlus(TABLE_Conclusions,res) Et ainsi, toutes les 3 tables sont synchro. Amicalement Albert Goes a écrit dans le message de news <7ab2301cea805ab32b7fedb467380dc2@news.pcsoft> : Bonjour CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur
C:\WinDev 14\Personnel\Externe\Winconst.wl Cordialement Albert abflm wrote in news message <ad3efc98db7e1fffe036939ad5ecccca@news.pcsoft>: Salut Etienne, Ton post est intéressant, j'ai corrigé mais je ne comprends pas ces valeurs dans mon cas ce sont pout des ascenceurs verticals Variables pour synchro des ascenseurs des tables CONSTANT SB_THUMBTRACK = 5 ou je trouve cette valeur CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_A), sbVert, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_ , sbVert, 0, 4096, True) @bientôt bruno |
| |
| |
| | | |
|
| | |
| |
Posté le 17 avril 2009 - 18:59 |
Bonjour, Voici ce que j'ai découvert en version 14, qui fonctionne quand même bien chez moi.
SauveTable est une chaîne SauveTable = TableSauvePositionEtSélection(TABLE_Pieces) TableRestaurePositionEtSélection(TABLE_PiecesDept, SauveTable)
Étienne
Salut , J'ai 2 tables côte à côte ou les lignes doivent correspondre pour la selection pas de prb, mais au moment ou l'acenseur vertical ce déclanche je n'ai qu'une table qui descend et je voudrais que la 2eme table bouge également et là je coinçe... merci de ton aide André Bruno André G. GELB a écrit dans le message de news <e5a17ee514ac24c68bb48317f1eba246@news.pcsoft> : Voici ce que je pratique depuis longtemps : res est un entier = TableSelect(TABLE_Anamneses) TableSelectPlus(TABLE_Hypotheses,res) TableSelectPlus(TABLE_Conclusions,res) Et ainsi, toutes les 3 tables sont synchro. Amicalement Albert Goes a écrit dans le message de news <7ab2301cea805ab32b7fedb467380dc2@news.pcsoft> : Bonjour CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur
C:\WinDev 14\Personnel\Externe\Winconst.wl Cordialement Albert abflm wrote in news message <ad3efc98db7e1fffe036939ad5ecccca@news.pcsoft>: Salut Etienne, Ton post est intéressant, j'ai corrigé mais je ne comprends pas ces valeurs dans mon cas ce sont pout des ascenceurs verticals Variables pour synchro des ascenseurs des tables CONSTANT SB_THUMBTRACK = 5 ou je trouve cette valeur CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_A), sbVert, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_ , sbVert, 0, 4096, True) @bientôt bruno |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 15 messages |
|
Posté le 06 octobre 2015 - 18:17 |
abflm a écrit :
Salut Etienne, Ton post est intéressant, j'ai corrigé mais je ne comprends pas ces valeurs dans mon cas ce sont pout des ascenceurs verticals Variables pour synchro des ascenseurs des tables CONSTANT SB_THUMBTRACK = 5 ou je trouve cette valeur CONSTANT WM_VSCROLL = 276 ou je trouve cette valeur AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_A), sbVert, 0, 4096, True) AppelDLL32( "user32", "SetScrollRange", Handle(TABLE_ , sbVert, 0, 4096, True) @bientôt bruno |
| |
| |
| | | |
|
| | | | |
| | |
|