From: yoffy Date: Sun, 11 Apr 2004 19:00:56 +0000 (+0000) Subject: ・ブラウザでショートカットが効かなくなってしまったバグを修正。 X-Git-Tag: v1_64_1_820~1273 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=16f4adf512e86dd30bf1f52b0a949baeae33f232;p=gikonavigoeson%2Fgikonavi.git ・ブラウザでショートカットが効かなくなってしまったバグを修正。 --- diff --git a/Giko.pas b/Giko.pas index bc4aa18..325e77f 100644 --- a/Giko.pas +++ b/Giko.pas @@ -987,7 +987,7 @@ type procedure HandleAppMessage(var Msg: TMsg; var Handled: Boolean); // ƒuƒ‰ƒEƒU‚̃L[ƒ_ƒEƒ“ƒCƒxƒ“ƒg // ƒCƒxƒ“ƒg‚ðŽæ‚舵‚Á‚½ê‡‚Í True ‚ð•Ô‚· - procedure BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState); + function BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean; protected procedure CreateParams(var Params: TCreateParams); override; @@ -9528,27 +9528,40 @@ end; // ƒuƒ‰ƒEƒU‚̃L[ƒ_ƒEƒ“ƒCƒxƒ“ƒg // ƒCƒxƒ“ƒg‚ðŽæ‚舵‚Á‚½ê‡‚Í True ‚ð•Ô‚· -procedure TGikoForm.BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState); +function TGikoForm.BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean; begin - if Key = VK_BACK then + if Key = VK_BACK then begin UpBoardAction.Execute; + Result := True; + end else begin + Result := (Key in [VK_ESCAPE..VK_HELP]); + end; end; // ƒMƒRƒiƒr‚̃ƒbƒZ[ƒWƒ‹[ƒv‚ð‰¡Žæ‚肵‚Ü‚· procedure TGikoForm.HandleAppMessage(var Msg: TMsg; var Handled: Boolean); var - key : Word; + key : Word; + iOIPAO : IOleInPlaceActiveObject; + Dispatch : IDispatch; begin case Msg.message of - WM_KEYFIRST..WM_KEYLAST: + WM_KEYDOWN: if IsDialogMessage( Browser.Handle, Msg ) then begin - Handled := True; key := Msg.wParam; - BrowserKeyDown( nil, key, KeyDataToShiftState( Msg.lParam ) ); + 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; end; WM_XBUTTONDOWN: case Msg.wParam shr 16 of diff --git a/gikoNavi.res b/gikoNavi.res index b5ded60..415fb2f 100644 Binary files a/gikoNavi.res and b/gikoNavi.res differ