@@ -317,6 +317,7 @@ TEsImageControl = class(TEsBaseLayout)
317317 procedure SetTransparentGraphic (const Value : Boolean);
318318 procedure WMKillFocus (var Message: TWMKillFocus); message WM_KILLFOCUS;
319319 procedure WMSetFocus (var Message: TWMSetFocus); message WM_SETFOCUS;
320+ procedure CNKeydown (var Message: TWMKeyDown); message CN_KEYDOWN;
320321 { $IFDEF VER340UP}
321322 function GetImageName : TImageName;
322323 function IsImageNameStored : Boolean;
@@ -326,7 +327,6 @@ TEsImageControl = class(TEsBaseLayout)
326327 function CanAutoSize (var NewWidth, NewHeight: Integer): Boolean; override;
327328 procedure CalcContentMargins (var Margins: TContentMargins); override;
328329 procedure ImageProxyChange (Sender: TObject);
329- procedure KeyUp (var Key: Word; Shift: TShiftState); override;
330330 procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
331331 procedure Loaded ; override;
332332 procedure Paint ; override;
@@ -586,11 +586,11 @@ TEsCustomVirtualImageControl = class(TEsBaseLayout)
586586 procedure SetFrameWidth (const Value : TFrameWidth);
587587 procedure WMKillFocus (var Message: TWMKillFocus); message WM_KILLFOCUS;
588588 procedure WMSetFocus (var Message: TWMSetFocus); message WM_SETFOCUS;
589+ procedure CNKeydown (var Message: TWMKeyDown); message CN_KEYDOWN;
589590 protected
590591 procedure CalcContentMargins (var Margins: TContentMargins); override;
591592 procedure ChangeScale (M, D: Integer; isDpiChange: Boolean); override;
592593 procedure ImageProxyChange (Sender: TObject);
593- procedure KeyUp (var Key: Word; Shift: TShiftState); override;
594594 procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
595595 procedure Paint ; override;
596596 public
@@ -1511,6 +1511,8 @@ function TEsImageControl.CanFocus: Boolean;
15111511 Result := AllowFocus and Inherited ;
15121512end ;
15131513
1514+
1515+
15141516function TEsImageControl.GetOpacity : Byte;
15151517begin
15161518 Result := ImageProxy.Opacity;
@@ -1609,10 +1611,11 @@ function TEsImageControl.IsImageNameStored: Boolean;
16091611end ;
16101612{ $ENDIF}
16111613
1612- procedure TEsImageControl.KeyUp (var Key: Word; Shift: TShiftState );
1614+ procedure TEsImageControl.CNKeydown (var Message: TWMKeyDown );
16131615begin
16141616 inherited ;
1615- if (Key = VK_SPACE) { or (Key = VK_RETURN)} then
1617+
1618+ if (Message.CharCode = VK_SPACE) or (Message.CharCode = VK_RETURN) then
16161619 Click;
16171620end ;
16181621
@@ -1666,7 +1669,7 @@ procedure TEsImageControl.Paint;
16661669 else
16671670 DrawFrame(inherited Canvas, nil , ClientRect, FrameStyle, FrameWidth, FrameColor, clBtnHighlight, clBtnShadow);
16681671
1669- if Focused then
1672+ if IsShowFocusRect(Self) then
16701673 begin
16711674 (inherited Canvas).Brush.Color := TColor($FF000000);
16721675 (inherited Canvas).DrawFocusRect(ContentRect);
@@ -2388,10 +2391,11 @@ function TEsCustomVirtualImageControl.IsImageNameStored: Boolean;
23882391 Result := ImageProxy.ImageName <> ' ' ;
23892392end ;
23902393
2391- procedure TEsCustomVirtualImageControl.KeyUp (var Key: Word; Shift: TShiftState );
2394+ procedure TEsCustomVirtualImageControl.CNKeydown (var Message: TWMKeyDown );
23922395begin
23932396 inherited ;
2394- if (Key = VK_SPACE) { or (Key = VK_RETURN)} then
2397+
2398+ if (Message.CharCode = VK_SPACE) or (Message.CharCode = VK_RETURN) then
23952399 Click;
23962400end ;
23972401
@@ -2432,7 +2436,7 @@ procedure TEsCustomVirtualImageControl.Paint;
24322436 DrawDesignStretchHint(Canvas, ClientRect, ImageProxy);
24332437 end ;
24342438
2435- if Focused then
2439+ if IsShowFocusRect(Self) then
24362440 begin
24372441 Canvas.Brush.Color := TColor($FF000000);
24382442 Canvas.DrawFocusRect(ContentRect);
0 commit comments