summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/fpg_editcombo.pas16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gui/fpg_editcombo.pas b/src/gui/fpg_editcombo.pas
index c26c0213..4d37ae61 100644
--- a/src/gui/fpg_editcombo.pas
+++ b/src/gui/fpg_editcombo.pas
@@ -91,6 +91,7 @@ type
function HasText: boolean; virtual;
procedure SetText(const AValue: string); virtual;
procedure HandleResize(AWidth, AHeight: TfpgCoord); override;
+ procedure HandleSetFocus; override;
procedure HandleKeyChar(var AText: TfpgChar; var shiftstate: TShiftState; var consumed: Boolean); override;
procedure HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: Boolean); override;
procedure HandleLMouseDown(x, y: integer; shiftstate: TShiftState); override;
@@ -404,6 +405,21 @@ begin
CalculateInternalButtonRect;
end;
+procedure TfpgBaseEditCombo.HandleSetFocus;
+var
+ i: integer;
+begin
+ inherited HandleSetFocus;
+ if FText > '' then
+ for i := 0 to Items.Count-1 do
+ if SameText(UTF8Copy(Items.Strings[i], 1, UTF8Length(FText)), FText) then
+ begin
+ FSelectedItem := i;
+ FNewItem := False;
+ Exit; //==>
+ end;
+end;
+
procedure TfpgBaseEditCombo.HandleKeyChar(var AText: TfpgChar;
var shiftstate: TShiftState; var consumed: Boolean);
var