mbColorLib: Fix mouse wheel events of TmbTrackbar descendents being shown in Object Inspector as not assigned.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5546 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-12-19 23:28:29 +00:00
parent 2cf4c24eb5
commit 6b7ac652ec
3 changed files with 47 additions and 17 deletions

View File

@ -55,14 +55,14 @@ type
procedure SetSLCursor(c: TCursor); procedure SetSLCursor(c: TCursor);
protected protected
procedure CreateWnd; override; procedure CreateWnd; override;
procedure Paint; override; procedure DoChange;
procedure DoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure DoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
function GetColorUnderCursor: TColor; override; function GetColorUnderCursor: TColor; override;
procedure RingPickerChange(Sender: TObject); procedure Paint; override;
procedure SLPickerChange(Sender: TObject);
procedure DoChange;
procedure Resize; override; procedure Resize; override;
procedure RingPickerChange(Sender: TObject);
procedure SetFocus; override; procedure SetFocus; override;
procedure SLPickerChange(Sender: TObject);
(* (*
{$IFDEF DELPHI} {$IFDEF DELPHI}
procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS; procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;

View File

@ -43,9 +43,9 @@ object Form1: TForm1
Height = 384 Height = 384
Top = 6 Top = 6
Width = 403 Width = 403
ActivePage = TabSheet5 ActivePage = TabSheet1
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
TabIndex = 4 TabIndex = 0
TabOrder = 0 TabOrder = 0
OnChange = PageControl1Change OnChange = PageControl1Change
OnMouseMove = PageControl1MouseMove OnMouseMove = PageControl1MouseMove
@ -721,8 +721,8 @@ object Form1: TForm1
TabOrder = 2 TabOrder = 2
Hue = 0 Hue = 0
Saturation = 0 Saturation = 0
Luminance = 240 Luminance = 94
SelectedColor = 6579300 SelectedColor = 6184542
end end
object VColorPicker1: TVColorPicker object VColorPicker1: TVColorPicker
Left = 34 Left = 34
@ -844,7 +844,7 @@ object Form1: TForm1
Height = 147 Height = 147
Top = 144 Top = 144
Width = 161 Width = 161
SelectedColor = 2763306 SelectedColor = 6579300
HintFormat = 'H: %h S: %s L: %l'#13'Hex: %hex' HintFormat = 'H: %h S: %s L: %l'#13'Hex: %hex'
TabOrder = 1 TabOrder = 1
OnMouseMove = SLColorPicker1MouseMove OnMouseMove = SLColorPicker1MouseMove
@ -920,8 +920,8 @@ object Form1: TForm1
NewArrowStyle = True NewArrowStyle = True
TabOrder = 3 TabOrder = 3
Cyan = 0 Cyan = 0
Black = 255 Black = 1
SelectedColor = clBlack SelectedColor = 16711422
end end
object RColorPicker1: TRColorPicker object RColorPicker1: TRColorPicker
Left = 150 Left = 150
@ -932,6 +932,8 @@ object Form1: TForm1
ArrowPlacement = spBefore ArrowPlacement = spBefore
NewArrowStyle = True NewArrowStyle = True
TabOrder = 4 TabOrder = 4
Green = 122
Blue = 122
SelectedColor = 8026879 SelectedColor = 8026879
end end
object GColorPicker1: TGColorPicker object GColorPicker1: TGColorPicker
@ -943,6 +945,8 @@ object Form1: TForm1
ArrowPlacement = spBoth ArrowPlacement = spBoth
NewArrowStyle = True NewArrowStyle = True
TabOrder = 5 TabOrder = 5
Red = 122
Blue = 122
SelectedColor = 8060794 SelectedColor = 8060794
end end
object BColorPicker1: TBColorPicker object BColorPicker1: TBColorPicker
@ -953,6 +957,8 @@ object Form1: TForm1
HintFormat = 'Blue: %b (selected)' HintFormat = 'Blue: %b (selected)'
SelectionIndicator = siRect SelectionIndicator = siRect
TabOrder = 6 TabOrder = 6
Red = 122
Green = 122
SelectedColor = 16743034 SelectedColor = 16743034
end end
object KColorPicker2: TKColorPicker object KColorPicker2: TKColorPicker
@ -968,8 +974,8 @@ object Form1: TForm1
NewArrowStyle = True NewArrowStyle = True
TabOrder = 7 TabOrder = 7
Cyan = 0 Cyan = 0
Black = 255 Black = 1
SelectedColor = clBlack SelectedColor = 16711422
end end
object MColorPicker2: TMColorPicker object MColorPicker2: TMColorPicker
Left = 272 Left = 272
@ -1253,7 +1259,7 @@ object Form1: TForm1
Height = 19 Height = 19
Top = 371 Top = 371
Width = 62 Width = 62
Anchors = [akRight, akBottom] Anchors = [akTop, akRight]
Caption = 'Enabled' Caption = 'Enabled'
Checked = True Checked = True
OnChange = CbEnabledChange OnChange = CbEnabledChange

View File

@ -80,6 +80,8 @@ type
FLimit: integer; FLimit: integer;
FBack: TBitmap; FBack: TBitmap;
procedure CreateGradient; override; procedure CreateGradient; override;
function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer;
MousePos: TPoint): Boolean; override;
procedure Paint; override; procedure Paint; override;
// procedure PaintParentBack; // procedure PaintParentBack;
procedure DrawFrames; dynamic; procedure DrawFrames; dynamic;
@ -97,8 +99,10 @@ type
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override; procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
// function MouseOnPicker(X, Y: Integer): Boolean; // function MouseOnPicker(X, Y: Integer): Boolean;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
{
procedure WheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); procedure WheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure WheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); procedure WheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
}
{$IFDEF DELPHI} {$IFDEF DELPHI}
// procedure CNKeyDown(var Message: TWMKeyDown); message CN_KEYDOWN; // procedure CNKeyDown(var Message: TWMKeyDown); message CN_KEYDOWN;
procedure CMGotFocus(var Message: TCMGotFocus); message CM_ENTER; procedure CMGotFocus(var Message: TCMGotFocus); message CM_ENTER;
@ -218,8 +222,8 @@ begin
FIncrement := 1; FIncrement := 1;
FArrowPos := GetArrowPos; FArrowPos := GetArrowPos;
FHintFormat := ''; FHintFormat := '';
OnMouseWheelUp := WheelUp; // OnMouseWheelUp := WheelUp;
OnMouseWheelDown := WheelDown; // OnMouseWheelDown := WheelDown;
FManual := false; FManual := false;
FChange := true; FChange := true;
FLayout := lyHorizontal; FLayout := lyHorizontal;
@ -917,6 +921,25 @@ begin
Invalidate; Invalidate;
end; end;
function TmbTrackbarPicker.DoMouseWheel(Shift: TShiftState; WheelDelta: Integer;
MousePos: TPoint): Boolean;
begin
Result := inherited DoMouseWheel(Shift, WheelDelta, MousePos);
if not Result then
begin
Result := True;
FChange := false;
if WheelDelta > 0 then
Execute(TBA_WheelUp)
else
Execute(TBA_WheelDown);
FManual := true;
FChange := true;
if Assigned(FOnChange) then FOnChange(Self);
end;
end;
(*
procedure TmbTrackBarPicker.WheelUp(Sender: TObject; Shift: TShiftState; procedure TmbTrackBarPicker.WheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean); MousePos: TPoint; var Handled: Boolean);
begin begin
@ -936,7 +959,8 @@ begin
FManual := true; FManual := true;
FChange := true; FChange := true;
if Assigned(FOnChange) then FOnChange(Self); if Assigned(FOnChange) then FOnChange(Self);
end; end; *)
{ IMPORTANT: If pickers are created at designtime the layout must be set before { IMPORTANT: If pickers are created at designtime the layout must be set before
defining the picker width and height because changing the layout will flip the defining the picker width and height because changing the layout will flip the