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:graphic [06/04/2020 19:46]
thierry [Les ScrollBars]
prog:lazarus:components:graphic [26/05/2020 19:51] (Version actuelle)
thierry
Ligne 5: Ligne 5:
  
 ===== Les ScrollBars ===== ===== Les ScrollBars =====
 +  * [[prog:​lazarus:​components:​scrollbars]]
 ==== Affichage ==== ==== Affichage ====
  
Ligne 53: Ligne 54:
       SB_TOP = 6;        SB_TOP = 6; 
 </​code> ​     ​ </​code> ​     ​
 +==== Autres fonctions ====
 +<code delphi 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';​
  
 +</​code>​
 +
 +
 +
 +===== La Souris =====
 +Pour gerer la souris on peut surcharger les procedures de TControl :
 +<code delphi unit Controls>​
 +  TControl = class(TLCLComponent)
 +  ...
 +  protected
 +    // key and mouse
 +    procedure Click; virtual;
 +    procedure DblClick; virtual;
 +    procedure TripleClick;​ virtual;
 +    procedure QuadClick; virtual;
 +    function GetMousePosFromMessage(const MessageMousePos:​ TSmallPoint):​ TPoint;
 +    procedure MouseDown(Button:​ TMouseButton;​ Shift:​TShiftState;​ X,​Y:​Integer);​ virtual;
 +    procedure MouseMove(Shift:​ TShiftState;​ X,Y: Integer); virtual;
 +    procedure MouseUp(Button:​ TMouseButton;​ Shift:​TShiftState;​ X,​Y:​Integer);​ virtual;
 +    procedure MouseEnter; virtual;
 +    procedure MouseLeave; virtual;
 +    function ​ DialogChar(var Message: TLMKey): boolean; virtual;
 +    procedure UpdateMouseCursor(X,​ Y: integer);
 +
 +</​code>​
  
 ===== Astuces ===== ===== Astuces =====
Ligne 62: Ligne 98:
   screen.height   screen.height
 </​code>​ </​code>​
 +== Dessiner des élément du théme ==
 + voir en bas de cette page -> [[https://​wiki.freepascal.org/​Colors]]
 ===== Sources ===== ===== Sources =====
   * [[http://​docwiki.embarcadero.com/​RADStudio/​Rio/​fr/​Utilisation_des_canevas_pour_dessiner]]   * [[http://​docwiki.embarcadero.com/​RADStudio/​Rio/​fr/​Utilisation_des_canevas_pour_dessiner]]