Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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, lpMaxPos: Integer): BOOL; external 'user32' name 'GetScrollRange'; | + | function SetScrollInfo(hWnd: HWND; BarFlag: Integer; const ScrollInfo: TScrollInfo; 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]] | ||