The control must process WM_GETDLGCODEand include at least the result DLGC_WANTARROWS.
In addition, if the ActiveX control is written in Delphi and uses it csReflectorin its own way ControlStyle, it must be rebuilt using WM_KEYDOWNand WM_KEYUP(and any other necessary) message handlers added to the VCL control TReflectorWindowin the module AxCtrlsfor delegating messages:
procedure TReflectorWindow.WMKeyDown(var Message: TMessage);
begin
Message.Result := FControl.Perform(Message.Msg, Message.WParam, Message.LParam);
end;
procedure TReflectorWindow.WMKeyUp(var Message: TMessage);
begin
Message.Result := FControl.Perform(Message.Msg, Message.WParam, Message.LParam);
end;
This seems sufficient to work in my tests using the D2007.
source
share