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

func.inc
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 SetScrollInfo(hWnd: HWND; BarFlag: Integer; const ScrollInfo: TScrollInfo; Redraw: BOOL): Integer; external 'user32' name 'SetScrollInfo';

La Souris

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é.