Ceci est une ancienne révision du document !


Les composants Graphics

C'est a dire les composants qui sont dessinés à l’écran.

Le Canvas

Les ScrollBars

Affichage

Affichage : API Windows ShowScrollBar(Handle, SB_BOTH, true);

  • Handle = Handle du component (TWinControl.handle)
  • SB_BOTH = affichage des deux SB_HORZ et SB_VERT
  • True = visible

Capter les messages de Scroll

Pour capter les scrolling, implementer les procedures suivantes

      procedure WMHScroll(var Msg: TLMScroll); message WM_HSCROLL;
      procedure WMVScroll(var Msg: TLMScroll); message WM_VSCROLL;

Le message TLMScroll contient les membres suivants:

LMessages
 TLMScroll = record
    Msg: Cardinal;
    ...
    ScrollCode: SmallInt; // code voir plus bas
    SmallPos: SmallInt;    // Position sous forme d'un SmallInt
    ScrollBar: HWND;        // Handle de la scrollbar
    ...
    Result: LRESULT;        // See remark
    Pos: LongInt;                 // Position en integer
  end;      

ScrollCodes

defines.inc
{ Scroll Bar notifications }
      SB_LINEUP = 0;
      SB_LINEDOWN = 1;
      SB_LINELEFT = 0;
      SB_LINERIGHT = 1;
      SB_PAGEUP = 2;
      SB_PAGEDOWN = 3;
      SB_PAGELEFT = 2;
      SB_PAGERIGHT = 3;
      SB_THUMBPOSITION = 4;
      SB_THUMBTRACK = 5;
      SB_ENDSCROLL = 8;
      SB_LEFT = 6;
      SB_RIGHT = 7;
      SB_BOTTOM = 7;
      SB_TOP = 6; 

Autres fonctions

function SetScrollPos(hWnd:HWND; nBar:longint; nPos:longint; bRedraw:WINBOOL):longint; external 'user32' name 'SetScrollPos';
function GetScrollPos(hWnd:HWND; nBar:longint):longint; external 'user32' name 'GetScrollPos';
function SetScrollRange(hWnd:HWND; nBar:longint; nMinPos:longint; nMaxPos:longint; bRedraw:WINBOOL):WINBOOL; external 'user32' name 'SetScrollRange';
function GetScrollRange(hWnd:HWND; nBar:longint; lpMinPos:LPINT; lpMaxPos:LPINT):WINBOOL; external 'user32' name 'GetScrollRange';
function ShowScrollBar(hWnd:HWND; wBar:longint; bShow:WINBOOL):WINBOOL; external 'user32' name 'ShowScrollBar';
function EnableScrollBar(hWnd:HWND; wSBflags:UINT; wArrows:UINT):WINBOOL; external 'user32' name 'EnableScrollBar';
function GetScrollInfo(hWnd: HWND; BarFlag: Integer; var ScrollInfo: TScrollInfo): BOOL; external 'user32' name 'GetScrollInfo';
function GetScrollRange(hWnd: HWND; nBar: Integer; var lpMinPos, lpMaxPos: Integer): BOOL; external 'user32' name 'GetScrollRange';

Astuces

Screen

L'objet Screen (TScreen) de l'unit Forms, permet de connaitre (entre autre) la taille de l’écran utilisé.

  screen.widht
  screen.height

Sources

Vous pourriez laisser un commentaire si vous étiez connecté.