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:18]
thierry [fMask]
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 81: Ligne 81:
 C'est la taille que doit faire la ScrollBox, proportionnellement au range de la ScrollBar. C'est la taille que doit faire la ScrollBox, proportionnellement au range de la ScrollBar.
  
-Par exemple si on defini ​nPage a 100 et que la ScrollBar a un Min de 0 et un  Max de 1000, la taille de la ScrollBox fera un dizieme ​de la taille 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]] 
  
  
Ligne 96: Ligne 116:
  
 </​code>​ </​code>​
 +Source : [[https://​docs.microsoft.com/​en-us/​windows/​win32/​controls/​bumper-scroll-bars-reference-functions]]