2011-06-07 1 views
1

Je veux activer le 'ReaderMode' pour faire défiler/défiler mon contrôle dans .Net. La chose la plus proche que j'ai trouvé était cette fonction Win API http://msdn.microsoft.com/en-us/library/bb775599(VS.85).aspx. Cependant, je ne sais pas comment appeler celui-ci, dans la documentation il dit,Activer 'ReaderMode' dans le contrôle .Net, API PInvoke DoReaderMode

Remarque Cette fonction n'est déclarée dans aucun en-tête public. Pour l'utiliser, vous devez y accéder en tant qu'ordinal 383 à partir de Comctl32.dll.

Je n'ai jamais appelé une fonction qui n'avait pas de nom auparavant, quelqu'un peut-il décrire comment faire cela dans VB.Net?

+0

Y a-t-il une implémentation fonctionnelle de ce produit partout? –

+1

J'ai ajouté un exemple sur pinvoke.net ici: http://pinvoke.net/default.aspx/comctl32/DoReaderMode.html, il vous suffit d'appeler la fonction 'SetReaderMode' lorsque l'utilisateur clique sur le bouton du milieu de la souris. – Kratz

+0

J'ai essayé la même chose. Mais je suis confronté à un problème. Le défilement ne fonctionne pas comme prévu et la flèche de défilement reste là jusqu'à ce que je mette le focus sur une autre fenêtre. –

Répondre

1

Eh bien, vous devriez essayer:

<DllImport("Comctl32.dll", EntryPoint:="#383", _ 
    CallingConvention:=CallingConvention.StdCall)> _ 

pour spécifier une fonction par son ordinal. Vous devriez également passer la structure, mais je suppose que vous savez comment procéder.

+0

C'est ce que je cherchais. J'ai du mal à le faire fonctionner. J'ai posté une nouvelle question, http://stackoverflow.com/questions/6270046/error-pinvoking-function. – Kratz