mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-21 23:19:29 +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
|
||||
Classes, SysUtils, Forms, LResources, Graphics, Controls, StdCtrls,
|
||||
LCLProc, EditBtn, FileUtil, AvgLvlTree;
|
||||
LCLProc, LCLType, EditBtn, CheckLst, FileUtil, AvgLvlTree;
|
||||
|
||||
type
|
||||
|
||||
@ -31,6 +31,7 @@ type
|
||||
protected
|
||||
procedure MoveNext; override;
|
||||
procedure MovePrev; override;
|
||||
procedure ReturnPressed; override;
|
||||
procedure SortAndFilter; override;
|
||||
procedure ApplyFilterCore; override;
|
||||
function GetDefaultGlyph: TBitmap; override;
|
||||
@ -55,8 +56,6 @@ procedure Register;
|
||||
|
||||
implementation
|
||||
|
||||
uses CheckLst;
|
||||
|
||||
procedure Register;
|
||||
begin
|
||||
{$I listfilteredit_icon.lrs}
|
||||
@ -253,5 +252,14 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TListFilterEdit.ReturnPressed;
|
||||
var
|
||||
Key: Char;
|
||||
begin
|
||||
Key:=Char(VK_RETURN);
|
||||
if Assigned(fFilteredListbox.OnKeyPress) then
|
||||
fFilteredListbox.OnKeyPress(fFilteredListbox, Key);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -6,7 +6,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, LResources, Graphics,
|
||||
Controls, ComCtrls, EditBtn, FileUtil, AvgLvlTree, fgl;
|
||||
Controls, ComCtrls, EditBtn, LCLType, FileUtil, AvgLvlTree, fgl;
|
||||
|
||||
type
|
||||
|
||||
@ -65,6 +65,7 @@ type
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
procedure MoveNext; override;
|
||||
procedure MovePrev; override;
|
||||
procedure ReturnPressed; override;
|
||||
procedure SortAndFilter; override;
|
||||
procedure ApplyFilterCore; override;
|
||||
function GetDefaultGlyph: TBitmap; override;
|
||||
@ -519,5 +520,14 @@ begin
|
||||
fFilteredTreeview.MoveToPrevNode;
|
||||
end;
|
||||
|
||||
procedure TTreeFilterEdit.ReturnPressed;
|
||||
var
|
||||
Key: Char;
|
||||
begin
|
||||
Key:=Char(VK_RETURN);
|
||||
if Assigned(fFilteredTreeview.OnKeyPress) then
|
||||
fFilteredTreeview.OnKeyPress(fFilteredTreeview, Key);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -188,6 +188,7 @@ type
|
||||
procedure ApplyFilterCore; virtual; abstract;
|
||||
procedure MoveNext; virtual; abstract;
|
||||
procedure MovePrev; virtual; abstract;
|
||||
procedure ReturnPressed; virtual; abstract;
|
||||
function GetDefaultGlyphName: String; override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
@ -896,13 +897,14 @@ end;
|
||||
|
||||
procedure TCustomControlFilterEdit.KeyDown(var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if (Key in [VK_UP, VK_DOWN]) and (Shift = []) then
|
||||
if (Key in [VK_UP, VK_DOWN, VK_RETURN]) and (Shift = []) then
|
||||
begin
|
||||
case Key of
|
||||
VK_UP: MovePrev;
|
||||
VK_DOWN: MoveNext;
|
||||
VK_UP: MovePrev;
|
||||
VK_DOWN: MoveNext;
|
||||
VK_RETURN: ReturnPressed;
|
||||
end;
|
||||
Key:=0;
|
||||
Key:=VK_UNKNOWN;
|
||||
end
|
||||
else inherited KeyDown(Key, Shift);
|
||||
end;
|
||||
@ -946,8 +948,8 @@ begin
|
||||
RestoreSelection;
|
||||
end
|
||||
else begin
|
||||
if [csDestroying,csDesigning]*ComponentState<>[] then exit;
|
||||
InvalidateFilter;
|
||||
if [csDestroying,csDesigning]*ComponentState=[] then
|
||||
InvalidateFilter;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user