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: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]] |