mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 04:59:20 +02:00
SynCompletion: Fix gtk2 only: panel steals KeyDown(key-down/press events from form) issue #17769
git-svn-id: trunk@28010 -
This commit is contained in:
parent
b9309ce87a
commit
98001cb19e
@ -105,6 +105,8 @@ type
|
|||||||
{ TSynBaseCompletionForm }
|
{ TSynBaseCompletionForm }
|
||||||
|
|
||||||
TSynBaseCompletionForm = class(TForm)
|
TSynBaseCompletionForm = class(TForm)
|
||||||
|
procedure SDKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
|
procedure SDKeyPress(Sender: TObject; var Key: char);
|
||||||
protected
|
protected
|
||||||
FCurrentString: string;
|
FCurrentString: string;
|
||||||
FOnKeyPress: TKeyPressEvent;
|
FOnKeyPress: TKeyPressEvent;
|
||||||
@ -475,6 +477,7 @@ begin
|
|||||||
FResizeLock := 1; // prevent DoResize (on Handle Creation) do reset LinesInWindow
|
FResizeLock := 1; // prevent DoResize (on Handle Creation) do reset LinesInWindow
|
||||||
FHintLock := 0;
|
FHintLock := 0;
|
||||||
BeginFormUpdate;
|
BeginFormUpdate;
|
||||||
|
KeyPreview:= True;
|
||||||
inherited Create(AOwner);
|
inherited Create(AOwner);
|
||||||
FItemList := TStringList.Create;
|
FItemList := TStringList.Create;
|
||||||
BorderStyle := bsNone;
|
BorderStyle := bsNone;
|
||||||
@ -508,6 +511,9 @@ begin
|
|||||||
SizeDrag.Height := Max(5, abs(Font.Height) * 2 div 3);
|
SizeDrag.Height := Max(5, abs(Font.Height) * 2 div 3);
|
||||||
SizeDrag.Cursor := crSizeNWSE;
|
SizeDrag.Cursor := crSizeNWSE;
|
||||||
|
|
||||||
|
SizeDrag.OnKeyPress:=@SDKeyPress;
|
||||||
|
SizeDrag.OnKeyDown:=@SDKeyDown;
|
||||||
|
|
||||||
Scroll.Anchors:=[akTop,akRight, akBottom];
|
Scroll.Anchors:=[akTop,akRight, akBottom];
|
||||||
Scroll.AnchorSide[akTop].Side := asrTop;
|
Scroll.AnchorSide[akTop].Side := asrTop;
|
||||||
Scroll.AnchorSide[akTop].Control := self;
|
Scroll.AnchorSide[akTop].Control := self;
|
||||||
@ -850,6 +856,17 @@ begin
|
|||||||
Position := Position - 1;
|
Position := Position - 1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynBaseCompletionForm.SDKeyDown(Sender: TObject; var Key: Word;
|
||||||
|
Shift: TShiftState);
|
||||||
|
begin
|
||||||
|
KeyDown(key,shift);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSynBaseCompletionForm.SDKeyPress(Sender: TObject; var Key: char);
|
||||||
|
begin
|
||||||
|
KeyPress(key);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSynBaseCompletionForm.UTF8KeyPress(var UTF8Key: TUTF8Char);
|
procedure TSynBaseCompletionForm.UTF8KeyPress(var UTF8Key: TUTF8Char);
|
||||||
begin
|
begin
|
||||||
debugln('TSynBaseCompletionForm.UTF8KeyPress A UTF8Key="',DbgStr(UTF8Key),'" ',dbgsName(TObject(TMethod(OnUTF8KeyPress).Data)));
|
debugln('TSynBaseCompletionForm.UTF8KeyPress A UTF8Key="',DbgStr(UTF8Key),'" ',dbgsName(TObject(TMethod(OnUTF8KeyPress).Data)));
|
||||||
|
Loading…
Reference in New Issue
Block a user