procedure HandleAppMessage(var Msg: TMsg; var Handled: Boolean);
// \83u\83\89\83E\83U\82Ì\83L\81[\83_\83E\83\93\83C\83x\83\93\83g
// \83C\83x\83\93\83g\82ð\8eæ\82è\88µ\82Á\82½\8fê\8d\87\82Í True \82ð\95Ô\82·
- function BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean;
+ function BrowserKeydown(var Msg: TMsg; Key: Word; State:TShiftState) : Boolean;
protected
procedure CreateParams(var Params: TCreateParams); override;
// \83u\83\89\83E\83U\82Ì\83L\81[\83_\83E\83\93\83C\83x\83\93\83g
// \83C\83x\83\93\83g\82ð\8eæ\82è\88µ\82Á\82½\8fê\8d\87\82Í True \82ð\95Ô\82·
-function TGikoForm.BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean;
+function TGikoForm.BrowserKeydown(var Msg: TMsg; Key: Word; State:TShiftState) : Boolean;
+var
+ iOIPAO : IOleInPlaceActiveObject;
+ Dispatch : IDispatch;
begin
if Key = VK_BACK then begin
UpBoardAction.Execute;
Result := True;
+ end else if Key in [VK_ESCAPE..VK_HELP] then begin
+ // \8f\\8e\9a\81APage Up\81APage Down \93\99\82Í Browser \82ª\8f\9f\8eè\82É\8eó\82¯\8eæ\82é\82Ì\82Å\83C\83x\83\93\83g\82ð\83J\83b\83g
+ Result := True;
end else begin
- Result := (Key in [VK_ESCAPE..VK_HELP]);
+ // \82»\82ê\88È\8aO\82Ì\83C\83x\83\93\83g\82Í Browser \82É\97¬\82·
+ Dispatch := Browser.Application;
+ if Dispatch <> nil then
+ Dispatch.QueryInterface( IOleInPlaceActiveObject, iOIPAO );
+ if iOIPAO <> nil then
+ iOIPAO.TranslateAccelerator( Msg );
+
+ // \83M\83R\83i\83r\82Å\8eg\82¤\83V\83\87\81[\83g\83J\83b\83g\82Í\8eó\82¯\8eæ\82è\82½\82¢\82Ì\82Å\83C\83x\83\93\83g\82Í\83J\83b\83g\82µ\82È\82¢
+ Result := False;
end;
end;
procedure TGikoForm.HandleAppMessage(var Msg: TMsg; var Handled: Boolean);
var
key : Word;
- iOIPAO : IOleInPlaceActiveObject;
- Dispatch : IDispatch;
begin
case Msg.message of
WM_KEYDOWN:
if IsDialogMessage( Browser.Handle, Msg ) then begin
key := Msg.wParam;
- Handled := BrowserKeyDown( nil, key, KeyDataToShiftState( Msg.lParam ) );
- if not Handled then begin
- Dispatch := Browser.Application;
- if Dispatch <> nil then
- Dispatch.QueryInterface( IOleInPlaceActiveObject, iOIPAO );
- if iOIPAO <> nil then
- iOIPAO.TranslateAccelerator( Msg );
- end;
- Msg.wParam := key;
- Handled := True;
+ Handled := BrowserKeyDown( Msg, key, KeyDataToShiftState( Msg.lParam ) );
end;
WM_XBUTTONDOWN:
case Msg.wParam shr 16 of