NiceSideBar: Remove dependence on Windows unit.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8854 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2023-06-25 18:10:36 +00:00
parent a71d00eb98
commit 180cb09d31

View File

@ -38,7 +38,12 @@ unit NiceSideBar;
interface interface
uses uses
Windows, Messages, Graphics, SysUtils, Controls, Classes, ImgList, Math, {$IFDEF FPC}
LCLIntf, LCLType, LMessages,
{$ELSE}
Windows, Messages,
{$ENDIF}
Graphics, SysUtils, Controls, Classes, ImgList, Math,
ExtCtrls, Forms; ExtCtrls, Forms;
const const
@ -265,11 +270,21 @@ type
FSubItemStyle: TSideBarItemStyle; FSubItemStyle: TSideBarItemStyle;
FBullets: TSideBarBulletStyle; FBullets: TSideBarBulletStyle;
FScrollers: TSideBarScrollerStyle; FScrollers: TSideBarScrollerStyle;
{$IFDEF FPC}
procedure CMColorChanged(var Msg: TLMessage); message CM_COLORCHANGED;
procedure CMMouseLeave(var Msg: TLMessage); message CM_MOUSELEAVE;
procedure CMWantSpecialKey(var Message: TLMKey); message CM_WANTSPECIALKEY;
procedure WMEraseBkgnd(var Msg: TLMessage); message LM_ERASEBKGND;
procedure WMSize(var Msg: TLMSize); message LM_SIZE;
procedure WMMouseWheel(var Msg: TLMMouseEvent); message LM_MOUSEWHEEL;
{$ELSE}
procedure CMColorChanged(var Msg: TMessage); message CM_COLORCHANGED; procedure CMColorChanged(var Msg: TMessage); message CM_COLORCHANGED;
procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE; procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
procedure CMWantSpecialKey(var Message: TWMKey); message CM_WANTSPECIALKEY;
procedure WMEraseBkgnd(var Msg: TMessage); message WM_ERASEBKGND; procedure WMEraseBkgnd(var Msg: TMessage); message WM_ERASEBKGND;
procedure WMSize(var Msg: TWMSize); message WM_SIZE; procedure WMSize(var Msg: TWMSize); message WM_SIZE;
procedure WMMouseWheel(var Msg: TWMMouseWheel); message WM_MOUSEWHEEL; procedure WMMouseWheel(var Msg: TWMMouseWheel); message WM_MOUSEWHEEL;
{$ENDIF}
procedure SetItems(Value: TSideBarItems); procedure SetItems(Value: TSideBarItems);
procedure SetItemIndex(Value: Integer); procedure SetItemIndex(Value: Integer);
procedure SetSubItemIndex(Value: Integer); procedure SetSubItemIndex(Value: Integer);
@ -296,7 +311,6 @@ type
procedure SetSubItemStyle(const Value: TSideBarItemStyle); procedure SetSubItemStyle(const Value: TSideBarItemStyle);
procedure SetBullets(const Value: TSideBarBulletStyle); procedure SetBullets(const Value: TSideBarBulletStyle);
procedure SetScrollers(const Value: TSideBarScrollerStyle); procedure SetScrollers(const Value: TSideBarScrollerStyle);
procedure CMWantSpecialKey(var Message: TWMKey); message CM_WANTSPECIALKEY;
protected protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override; procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
@ -697,7 +711,11 @@ var
begin begin
{$IFDEF FPC}
LCLIntf.SetFocus(Handle);
{$ELSE}
Windows.SetFocus(Handle); Windows.SetFocus(Handle);
{$ENDIF}
if ScTopVisible then if ScTopVisible then
begin begin
@ -875,7 +893,7 @@ begin
end; end;
procedure TNiceSideBar.CMMouseLeave(var Msg: TMessage); procedure TNiceSideBar.CMMouseLeave(var Msg: {$IFDEF FPC}TLMessage{$ELSE}TMessage{$ENDIF});
begin begin
if (HoverIndex <> -1) then if (HoverIndex <> -1) then
begin begin
@ -1427,19 +1445,19 @@ begin
end; end;
end; end;
procedure TNiceSideBar.WMEraseBkgnd(var Msg: TMessage); procedure TNiceSideBar.WMEraseBkgnd(var Msg: {$IFDEF FPC}TLMessage{$ELSE}TMessage{$ENDIF});
begin begin
Msg.Result := 1; Msg.Result := 1;
end; end;
procedure TNiceSideBar.WMSize(var Msg: TWMSize); procedure TNiceSideBar.WMSize(var Msg: {$IFDEF FPC}TLMSize{$ELSE}TWMSize{$ENDIF});
begin begin
TopIndex := 0; TopIndex := 0;
ListChange(False); ListChange(False);
Invalidate; Invalidate;
end; end;
procedure TNiceSidebar.CMColorChanged(var Msg: TMessage); procedure TNiceSidebar.CMColorChanged(var Msg: {$IFDEF FPC}TLMessage{$ELSE}TMessage{$ENDIF});
begin begin
Invalidate; Invalidate;
end; end;
@ -1757,7 +1775,7 @@ begin
FScrollers := Value; FScrollers := Value;
end; end;
procedure TNiceSideBar.WMMouseWheel(var Msg: TWMMouseWheel); procedure TNiceSideBar.WMMouseWheel(var Msg: {$IFDEF FPC}TLMMouseEvent{$ELSE}TWMMouseWheel{$ENDIF});
begin begin
if (Msg.WheelDelta > 0) and ScTopVisible then if (Msg.WheelDelta > 0) and ScTopVisible then
begin begin
@ -1775,7 +1793,7 @@ begin
inherited; inherited;
end; end;
procedure TNiceSideBar.CMWantSpecialKey(var Message: TWMKey); procedure TNiceSideBar.CMWantSpecialKey(var Message: {$IFDEF FPC}TLMKey{$ELSE}TWMKey{$ENDIF});
begin begin
inherited; inherited;
with Message do with Message do