mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 11:59:45 +02:00
LCL: forward Return key press to the filtered control in FilterEdit controls
git-svn-id: trunk@35442 -
This commit is contained in:
parent
43e8d15510
commit
b5744efb18
@ -6,7 +6,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Forms, LResources, Graphics, Controls, StdCtrls,
|
Classes, SysUtils, Forms, LResources, Graphics, Controls, StdCtrls,
|
||||||
LCLProc, EditBtn, FileUtil, AvgLvlTree;
|
LCLProc, LCLType, EditBtn, CheckLst, FileUtil, AvgLvlTree;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -31,6 +31,7 @@ type
|
|||||||
protected
|
protected
|
||||||
procedure MoveNext; override;
|
procedure MoveNext; override;
|
||||||
procedure MovePrev; override;
|
procedure MovePrev; override;
|
||||||
|
procedure ReturnPressed; override;
|
||||||
procedure SortAndFilter; override;
|
procedure SortAndFilter; override;
|
||||||
procedure ApplyFilterCore; override;
|
procedure ApplyFilterCore; override;
|
||||||
function GetDefaultGlyph: TBitmap; override;
|
function GetDefaultGlyph: TBitmap; override;
|
||||||
@ -55,8 +56,6 @@ procedure Register;
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses CheckLst;
|
|
||||||
|
|
||||||
procedure Register;
|
procedure Register;
|
||||||
begin
|
begin
|
||||||
{$I listfilteredit_icon.lrs}
|
{$I listfilteredit_icon.lrs}
|
||||||
@ -253,5 +252,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TListFilterEdit.ReturnPressed;
|
||||||
|
var
|
||||||
|
Key: Char;
|
||||||
|
begin
|
||||||
|
Key:=Char(VK_RETURN);
|
||||||
|
if Assigned(fFilteredListbox.OnKeyPress) then
|
||||||
|
fFilteredListbox.OnKeyPress(fFilteredListbox, Key);
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Forms, LResources, Graphics,
|
Classes, SysUtils, Forms, LResources, Graphics,
|
||||||
Controls, ComCtrls, EditBtn, FileUtil, AvgLvlTree, fgl;
|
Controls, ComCtrls, EditBtn, LCLType, FileUtil, AvgLvlTree, fgl;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -65,6 +65,7 @@ type
|
|||||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||||
procedure MoveNext; override;
|
procedure MoveNext; override;
|
||||||
procedure MovePrev; override;
|
procedure MovePrev; override;
|
||||||
|
procedure ReturnPressed; override;
|
||||||
procedure SortAndFilter; override;
|
procedure SortAndFilter; override;
|
||||||
procedure ApplyFilterCore; override;
|
procedure ApplyFilterCore; override;
|
||||||
function GetDefaultGlyph: TBitmap; override;
|
function GetDefaultGlyph: TBitmap; override;
|
||||||
@ -519,5 +520,14 @@ begin
|
|||||||
fFilteredTreeview.MoveToPrevNode;
|
fFilteredTreeview.MoveToPrevNode;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTreeFilterEdit.ReturnPressed;
|
||||||
|
var
|
||||||
|
Key: Char;
|
||||||
|
begin
|
||||||
|
Key:=Char(VK_RETURN);
|
||||||
|
if Assigned(fFilteredTreeview.OnKeyPress) then
|
||||||
|
fFilteredTreeview.OnKeyPress(fFilteredTreeview, Key);
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -188,6 +188,7 @@ type
|
|||||||
procedure ApplyFilterCore; virtual; abstract;
|
procedure ApplyFilterCore; virtual; abstract;
|
||||||
procedure MoveNext; virtual; abstract;
|
procedure MoveNext; virtual; abstract;
|
||||||
procedure MovePrev; virtual; abstract;
|
procedure MovePrev; virtual; abstract;
|
||||||
|
procedure ReturnPressed; virtual; abstract;
|
||||||
function GetDefaultGlyphName: String; override;
|
function GetDefaultGlyphName: String; override;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
@ -896,13 +897,14 @@ end;
|
|||||||
|
|
||||||
procedure TCustomControlFilterEdit.KeyDown(var Key: Word; Shift: TShiftState);
|
procedure TCustomControlFilterEdit.KeyDown(var Key: Word; Shift: TShiftState);
|
||||||
begin
|
begin
|
||||||
if (Key in [VK_UP, VK_DOWN]) and (Shift = []) then
|
if (Key in [VK_UP, VK_DOWN, VK_RETURN]) and (Shift = []) then
|
||||||
begin
|
begin
|
||||||
case Key of
|
case Key of
|
||||||
VK_UP: MovePrev;
|
VK_UP: MovePrev;
|
||||||
VK_DOWN: MoveNext;
|
VK_DOWN: MoveNext;
|
||||||
|
VK_RETURN: ReturnPressed;
|
||||||
end;
|
end;
|
||||||
Key:=0;
|
Key:=VK_UNKNOWN;
|
||||||
end
|
end
|
||||||
else inherited KeyDown(Key, Shift);
|
else inherited KeyDown(Key, Shift);
|
||||||
end;
|
end;
|
||||||
@ -946,8 +948,8 @@ begin
|
|||||||
RestoreSelection;
|
RestoreSelection;
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
if [csDestroying,csDesigning]*ComponentState<>[] then exit;
|
if [csDestroying,csDesigning]*ComponentState=[] then
|
||||||
InvalidateFilter;
|
InvalidateFilter;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user