Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
J'ai trouvé une solution pour scroller horizontalement dans une datawindow sans avoir de barre de scrolling.
constant long WM_HSCROLL = 276 constant integer SB_LINERIGHT = 1 constant integer SB_PAGERIGHT = 3 Send ( Handle( dw_liste ), WM_HSCROLL, SB_LINERIGHT, 0 )
mais il me reste un problème : l'instruction suivante est exécutée mais ne fait rien. Pouvez-vous m'éclairer ?
Send ( Handle( dw_liste ), WM_HSCROLL, SB_PAGERIGHT, 0 )
merci d'avance.
Hors ligne
Quel est le code retour de ta fonction send?
Hors ligne
Hors ligne
le SB_PAGERIGHT simule le clic Droit de la barre Horizontale (celui qui se trouve tout à droite).
le SB_LINERIGHT simule le deplacement de la barre Horizontale vers la droite.
et en mettant 0, ca simule le deplacement de la barre Horizontale vers la gauche.
Hors ligne
Aaah, on voit que l'ami Pick a SDK comme livre de chevet
Hors ligne
foon a écrit:
Aaah, on voit que l'ami Pick a SDK comme livre de chevet
meme pas...
je viens de tester sur une dw grid...
Hors ligne
mais c'est pas vers la gauche que je veux aller !
Je veux que ca décalle d'une page vers la droite. Et là ca fait rien du tout
Hors ligne
abdelta a écrit:
mais c'est pas vers la gauche que je veux aller !
Je veux que ca décalle d'une page vers la droite. Et là ca fait rien du tout
je crois que tu ne sais pas lire...
tu as posé ta question... je t'ai repondu, avec des options en plus.
ca marche bien chez moi, sous pb7.
Hors ligne
ben chez moi sous pb10 ca marche pas du tout
la ligne de commande est exécutée (j'ai vérifié en faisnt un debug) mais elle ne fait rien !!
Hors ligne
la datawindow n'est pas en disable ?
sinon, je regarderai ce soir, avec pb10.5
Hors ligne
non non, elle est bien enabled !
te tue pas à la tâche pour ça, je le prévois mais j'espère ne jamais en avoir besoin !
Hors ligne
coucou,
je viens de faire le test sur pb10.5
et cela ne fonctionne pas...
Send ( Handle( dw_liste ), WM_HSCROLL, SB_PAGERIGHT, 0 )
sauf si tu coches l'option Hscrollbar... et la, merveille !
enfin, voila encore un autre effet kiss kool de la version 10.5 (apres celle des char(140))
Hors ligne
si je coche l'option hscrollbar, ca va me faire apparaitre une barre de défilement en bas ... et c'est précisément ce que je ne veux pas faire !
Mon écran sera tactile et les boutons de la scrollbar de base sont trop petits. J'ai donc recréé de mes mains une scrollbar et c'est pour coder l'événement pageright de celle-ci que j'utilisait ca :
Send ( Handle( dw_liste ), WM_HSCROLL, SB_PAGERIGHT, 0 )
merci de tes informations mais j'ai peur de devoir laisser tomber.
Dernière modification par abdelta (13-04-2007 06:22:06)
Hors ligne
Dans l'aide PB10.5, ils indiquent ceci à propos de la fonction Send:
You can send messages to maximize or minimize a DataWindow, and return it to normal. To use these messages, enable the TitleBar, Minimize, and Maximize properties of your DataWindow control. Also, you should give your DataWindow control an icon for its minimized state.
Donc, a priori, ce serait un comportement normal, et non un bug...
Par contre, je ne sais vraiment pas s'il y a moyen de cacher la scrollbar quand elle est cochée sous PB
Hors ligne
on peut dire que l'aide de pb10.5 s'est adapté...
car dans l'aide de pb7:
Usage
PowerBuilder's Send function sends the message identified by message# and optionally, lowword and long
, to the window identified by handle to the Windows function SendMessage. The message is sent directly to the object, bypassing the object's message queue. Send waits until the message is processed and obtains the value returned by SendMessage.
Messages in Windows Use the Handle function to get the Windows handle of a PowerBuilder object.
You specify Windows messages by number. They are documented in the file WINDOWS.H that is part of the Microsoft Windows Software Development Kit (SDK) and other Windows development tools.
Posting a message Messages sent with Send are executed immediately. To post a message to the end of an object's message queue, use the Post function.
donc , ca fonctionne tres bien sous pb7.
Hors ligne
comment vous expliquez que l'autre ligne de code (ci-dessous) fonctionne alors ?
Send ( Handle( dw_liste ), WM_HSCROLL, SB_LINERIGHT, 0 )
Dernière modification par abdelta (17-04-2007 09:54:37)
Hors ligne
finalement j'ai coché la case HScrollBar de ma datawindow et j'ai caché la scrollbar PowerBuilder sous celle que j'ai créé.
Merci à tous
Problème résolu
Hors ligne
abdelta a écrit:
finalement j'ai coché la case HScrollBar de ma datawindow et j'ai caché la scrollbar PowerBuilder sous celle que j'ai créé.
ah PB...
le tout c'est d'arriver à ses fins,
Hors ligne