EmbededWB Component를 사용해서
...
function TForm1.EmbeddedWB1TranslateAccelerator(const lpMsg: PMsg;
const pguidCmdGroup: PGUID; const nCmdID: Cardinal): HRESULT;
begin
Result := S_OK;
end;
...
이렇게 하면 모든 키의 사용을 막을 수 있습니다.
online에서는 잘 되더군요.
그러나, offline 문서를 열어서 Ctrl+N를 누르면 활성화되더군요.
저만 그런지 모르지만, 어제 저녁에 완료하고 담당자에게 시연할 때
황당함이란... ㅜ.ㅠ
여러가지 방법을 동원했지만,
특히한 현상을 발견했지요.
EmbededWB Component를 클릭하면 잘 된다는 사실을...
아래는 제가 동원한 방법입니다.
1. 강제 Mouse Click 제대로 작동이...
2. Form의 keyprivew를 True로 하고 keydown에서 처리
3. KeyHook
어쩔 수 없이 3번을 택했습니다.
...
var
Form1: TForm1;
KeyHook: HHOOK;
function KeyboardHook(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LResult; stdcall;
...
//모든키 방지
function KeyboardHook(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LResult;
begin
if nCode > -1 then begin
Result := 1
end
else Result := CallNextHookEx(KeyHook, nCode, wParam, lParam);
end;