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:48]
thierry [Capter les messages de Scroll]
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 54: Ligne 55:
 </​code> ​     ​ </​code> ​     ​
 ==== Autres fonctions ==== ==== Autres fonctions ====
-<code delphi>+<code delphi ​func.inc>
 function SetScrollPos(hWnd:​HWND;​ nBar:​longint;​ nPos:​longint;​ bRedraw:​WINBOOL):​longint;​ external '​user32'​ name '​SetScrollPos';​ 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 GetScrollPos(hWnd:​HWND;​ nBar:​longint):​longint;​ external '​user32'​ name '​GetScrollPos';​
Ligne 62: Ligne 63:
 function EnableScrollBar(hWnd:​HWND;​ wSBflags:​UINT;​ wArrows:​UINT):​WINBOOL;​ external '​user32'​ name '​EnableScrollBar';​ 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 GetScrollInfo(hWnd:​ HWND; BarFlag: Integer; var ScrollInfo: TScrollInfo):​ BOOL; external '​user32'​ name '​GetScrollInfo';​
-function ​GetScrollRange(hWnd: HWND; nBar: Integer; ​var lpMinPos, lpMaxPosInteger): BOOL; external '​user32'​ name 'GetScrollRange';+function ​SetScrollInfo(hWnd: HWND; BarFlag: Integer; ​const ScrollInfoTScrollInfo;​ Redraw: BOOL): Integer; external '​user32'​ name 'SetScrollInfo';
  
 </​code>​ </​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 75: 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]]