Q&A

  • [답변] 자문 자답...혼자서... (-,.-) EmbededWB Component에서 Ctrl+N막기
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;

0  COMMENTS