Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:components:scrollbars [07/04/2020 19:16]
thierry [Structure TScrollInfo]
prog:lazarus:components:scrollbars [09/04/2020 19:16] (Version actuelle)
thierry [Connaitre la taille des Scrollbar]
Ligne 42: Ligne 42:
       SB_PAGELEFT = 2;  // On click entre la Scroll Box et le bouton à l’extrémité gauche       SB_PAGELEFT = 2;  // On click entre la Scroll Box et le bouton à l’extrémité gauche
       SB_PAGERIGHT = 3;  // On click entre la Scroll Box et le bouton à l’extrémité droite       SB_PAGERIGHT = 3;  // On click entre la Scroll Box et le bouton à l’extrémité droite
-      SB_THUMBPOSITION = 4;  // On relâche (drop) le Scroll Box+      SB_THUMBPOSITION = 4;  // On relâche (drop) le Scroll Box ou on utilise la molette de la souris
       SB_THUMBTRACK = 5;   // On tire (drag) le Scroll Box       SB_THUMBTRACK = 5;   // On tire (drag) le Scroll Box
       SB_ENDSCROLL = 8;  // On sort de la Scrollbar       SB_ENDSCROLL = 8;  // On sort de la Scrollbar
Ligne 61: Ligne 61:
     nMax: Integer;     nMax: Integer;
     nPage: UInt;  // Taille de la ScrollBox proportionnellement au range de la ScrollBar     nPage: UInt;  // Taille de la ScrollBox proportionnellement au range de la ScrollBar
-    nPos: Integer;+    nPos: Integer; ​// Position par rapport au range de la ScrollBar
     nTrackPos: Integer;     nTrackPos: Integer;
   end;   end;
Ligne 78: Ligne 78:
 |''​SIF_RANGE''​ |Les membres ''​nMin''​ et''​ nMax''​ contiennent les valeurs minimales et maximales de la plage de défilement.| |''​SIF_RANGE''​ |Les membres ''​nMin''​ et''​ nMax''​ contiennent les valeurs minimales et maximales de la plage de défilement.|
 |''​SIF_TRACKPOS''​ |Le membre ''​nTrackPos''​ contient la position actuelle de la Scroll Box pendant que l'​utilisateur la fait glisser. | |''​SIF_TRACKPOS''​ |Le membre ''​nTrackPos''​ contient la position actuelle de la Scroll Box pendant que l'​utilisateur la fait glisser. |
 +== nPage ==
 +C'est la taille que doit faire la ScrollBox, proportionnellement au range de la ScrollBar.
 +
 +Par exemple si on défini nPage a 100 et que la ScrollBar a un Min de 0 et un  Max de 1000, la taille de la ScrollBox fera un dixième de la taille de la ScrollBar.
 +
 +Apparemment il y aurait un minimum, c'est a dire que si on défini nPage à 1, la ScrollBox ne s'​adapte pas exactement a la taille, elle reste a une taille convenable pour être saisie.
 +
 +
 +==== Connaitre la taille des Scrollbar ====
 +Les valeurs ci-dessous sont les valeurs relevées sur mon system.
 +<code delphi>
 +uses windows;
 +
 +  GetSystemMetrics(SM_CXHSCROLL) = 17
 +  GetSystemMetrics(SM_CYHSCROLL) = 17
 +  GetSystemMetrics(SM_CXHTHUMB) = 17
 +  GetSystemMetrics(SM_CXVSCROLL) = 17
 +  GetSystemMetrics(SM_CXVSCROLL) = 17
 +  GetSystemMetrics(SM_CYVTHUMB) = 17
 +  GetSystemMetrics(SM_MOUSEHORIZONTALWHEELPRESENT) = 0 // 0 = pas de molette horizontale sur ma souris.
 +  GetSystemMetrics(SM_MOUSEWHEELPRESENT) = 1 // 1 = Une molette verticale est presente sur ma souris
 +</​code>​
 +Source : [[https://​docs.microsoft.com/​en-us/​windows/​win32/​api/​winuser/​nf-winuser-getsystemmetrics]]
 +
 +
  
 ==== Autres fonctions ==== ==== Autres fonctions ====
Ligne 91: Ligne 116:
  
 </​code>​ </​code>​
 +Source : [[https://​docs.microsoft.com/​en-us/​windows/​win32/​controls/​bumper-scroll-bars-reference-functions]]