J'essaie de déplacer la barre de défilement d'une fenêtre par programmation. Je suis d'abord un envoyais:Mouvement de la barre de défilement SetScrollPos et SendMessage
SetScrollPos(handle, 1, position, true);
puis suivi par:
SendMessage(handle, 0x0115, wparam, new IntPtr(0));
Le wparam est correct. Quand j'inspecte via spy ++, la seule différence entre l'envoi d'un scroll avec le code ci-dessus et le fait de faire défiler est que dans le scrolling actuel, le niveau d'imbrication du message est 1 mais ici c'est zéro. Mais à part, toutes les autres propriétés et même, le WM_VSCROLL, manipulent, positionnent, wparam etc. Mais le parchemin programmatique ne bouge pas la barre. Des suggestions sur ce que je fais mal ??? P.S: Essayer de le faire à partir d'une application C# Ça fait une tonne!
EDIT: quand je passe SB_BOTTOM au wparam, il me prend correctement à la fin du parchemin.
J'ai essayé SetScrollInfo et il ne semble pas fonctionner pour moi. Le SendMessage fonctionne dans tous les cas sauf où j'essaie d'envoyer une position exacte avec SB_THUMBPOSITION comme le loword et la position comme le hiword dans le wparam. – kambamsu
Je crois que vous avez mal p/invoke pour SetScrollInfo, ou peut-être l'utiliser de manière incorrecte, parce que cette fonction est WinApi et 100% de travail. Essayez de jouer avec, ou montrez vos interfaces p/invoke pour SetScrollInfo et des exemples d'utilisation. – arbiter