| 987 |
procedure HandleAppMessage(var Msg: TMsg; var Handled: Boolean); |
procedure HandleAppMessage(var Msg: TMsg; var Handled: Boolean); |
| 988 |
// ブラウザのキーダウンイベント |
// ブラウザのキーダウンイベント |
| 989 |
// イベントを取り扱った場合は True を返す |
// イベントを取り扱った場合は True を返す |
| 990 |
function BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean; |
function BrowserKeydown(var Msg: TMsg; Key: Word; State:TShiftState) : Boolean; |
| 991 |
|
|
| 992 |
protected |
protected |
| 993 |
procedure CreateParams(var Params: TCreateParams); override; |
procedure CreateParams(var Params: TCreateParams); override; |
| 9529 |
|
|
| 9530 |
// ブラウザのキーダウンイベント |
// ブラウザのキーダウンイベント |
| 9531 |
// イベントを取り扱った場合は True を返す |
// イベントを取り扱った場合は True を返す |
| 9532 |
function TGikoForm.BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean; |
function TGikoForm.BrowserKeydown(var Msg: TMsg; Key: Word; State:TShiftState) : Boolean; |
| 9533 |
|
var |
| 9534 |
|
iOIPAO : IOleInPlaceActiveObject; |
| 9535 |
|
Dispatch : IDispatch; |
| 9536 |
begin |
begin |
| 9537 |
|
|
| 9538 |
if Key = VK_BACK then begin |
if Key = VK_BACK then begin |
| 9539 |
UpBoardAction.Execute; |
UpBoardAction.Execute; |
| 9540 |
Result := True; |
Result := True; |
| 9541 |
|
end else if Key in [VK_ESCAPE..VK_HELP] then begin |
| 9542 |
|
// 十字、Page Up、Page Down 等は Browser が勝手に受け取るのでイベントをカット |
| 9543 |
|
Result := True; |
| 9544 |
end else begin |
end else begin |
| 9545 |
Result := (Key in [VK_ESCAPE..VK_HELP]); |
// それ以外のイベントは Browser に流す |
| 9546 |
|
Dispatch := Browser.Application; |
| 9547 |
|
if Dispatch <> nil then |
| 9548 |
|
Dispatch.QueryInterface( IOleInPlaceActiveObject, iOIPAO ); |
| 9549 |
|
if iOIPAO <> nil then |
| 9550 |
|
iOIPAO.TranslateAccelerator( Msg ); |
| 9551 |
|
|
| 9552 |
|
// ギコナビで使うショートカットは受け取りたいのでイベントはカットしない |
| 9553 |
|
Result := False; |
| 9554 |
end; |
end; |
| 9555 |
|
|
| 9556 |
end; |
end; |
| 9559 |
procedure TGikoForm.HandleAppMessage(var Msg: TMsg; var Handled: Boolean); |
procedure TGikoForm.HandleAppMessage(var Msg: TMsg; var Handled: Boolean); |
| 9560 |
var |
var |
| 9561 |
key : Word; |
key : Word; |
|
iOIPAO : IOleInPlaceActiveObject; |
|
|
Dispatch : IDispatch; |
|
| 9562 |
begin |
begin |
| 9563 |
|
|
| 9564 |
case Msg.message of |
case Msg.message of |
| 9565 |
WM_KEYDOWN: |
WM_KEYDOWN: |
| 9566 |
if IsDialogMessage( Browser.Handle, Msg ) then begin |
if IsDialogMessage( Browser.Handle, Msg ) then begin |
| 9567 |
key := Msg.wParam; |
key := Msg.wParam; |
| 9568 |
Handled := BrowserKeyDown( nil, key, KeyDataToShiftState( Msg.lParam ) ); |
Handled := BrowserKeyDown( Msg, 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; |
|
| 9569 |
end; |
end; |
| 9570 |
WM_XBUTTONDOWN: |
WM_XBUTTONDOWN: |
| 9571 |
case Msg.wParam shr 16 of |
case Msg.wParam shr 16 of |