L’API Windows a-t-elle un contrôle de barre de défilement?

Dans Delphi, il existe un composant appelé TScrollBox , qui vous permet d’append une barre de défilement à un composant TImage .

J’ai besoin d’append une barre de défilement à une image dans l’API Windows pure. Alors, les API Windows ont-elles un tel contrôle? Tout ce que j’ai trouvé c’est cet article de 1993 !

Sinon, comment puis-je append une barre de défilement à mon image?

L’API Windows fournit deux types de barres de défilement :

Le premier est le contrôle autonome de la barre de défilement , doté de sa propre poignée de fenêtre.

L’autre est attaché à une fenêtre WS_VSCROLL styles de fenêtre WS_HSCROLL et / ou WS_VSCROLL . Ce dernier est une barre de défilement non client et non un contrôle. Par conséquent, il n’a pas de poignée de fenêtre. Pour manipuler une barre de défilement non cliente, transmettez le handle de fenêtre de la fenêtre qui le contient avec SB_HORZ ou SB_VERT tant nBar paramètre nBar aux fonctions de barre de défilement appropriées.


Guide le plus complet sur les barres de défilement (de The Old New Thing ):

  • Le programme scratch
  • Barres de défilement, partie 2
  • Barres de défilement, partie 3: Optimiser le cycle de peinture
  • Barres de défilement, partie 4: Ajouter une barre de défilement proportionnelle ( Répondre à l’exercice )
  • Accessibilité du clavier pour les barres de défilement
  • Scrollbars bart 6 – La roue
  • Barre de défilement partie 7 – Intégralité
  • Barres de défilement, partie 8 – Redimensionnement interactif intégral ( réponse à l’exercice )
  • Barres de défilement, partie 9 – Maintenir la métaphore
  • Barre de défilement partie 10 – Vers une compréhension plus profonde du message WM_NCCALCSIZE ( Réponses aux exercices )
  • Barre de défilement partie 11: Vers une compréhension encore plus profonde du message WM_NCCALCSIZE ( Réponses à l’exercice )
  • Barres de défilement, partie 12: application de WM_NCCALCSIZE à notre exemple de barre de défilement
  • Barres de défilement redux: Part 12

Oui, Win32 définit une classe de barre de défilement, documentée ici: https://msdn.microsoft.com/en-us/library/windows/desktop/bb787529.aspx