IE Band에서 탭키, 엔터키, 델리트키(VK_TAB, VK_RETURN, VK_DELETE) 입력가능하도록 하기
function TBand.TranslateAcceleratorIO(var lpMsg: TMsg): HResult;
// Passes keyboard accelerators to the object.
var
Disp: IDispatch;
IOIPAO: IOleInPlaceActiveObject;
begin
OutputDebugString(PChar(Format('[Band] lpMsg.WParam : %d', [lpMsg.WParam])));
Result := S_FALSE;
if (lpMsg.wParam <> VK_TAB) and (lpMsg.wParam <> VK_RETURN) and (lpMsg.wParam <> VK_DELETE) then
begin
TranslateMessage(lpMSg);
DispatchMessage(lpMsg);
Result := S_OK;
end else begin
Disp := FormBand.EmbeddedWBBand.Application;
if Disp <> nil then
begin
Disp.QueryInterface(IID_IOleInPlaceActiveObject, IOIPAO);
if IOIPAO <> nil then
begin
IOIPAO.TranslateAccelerator(lpMsg);
Result := S_OK;
end;
end;
end;
end;
흔하게 보는 밴드쪽 키 입력 소스에서는 엔터키와 델리트키가 동작하지 않는 코드가 대부분이라
약간 손을 봤습니다. 유용하셨다면 댓글하나정도~? ^^
출처 : 사진찍는 나귀
'델파이' 카테고리의 다른 글
서버 상태 확인 (0) | 2009.01.12 |
---|---|
BeforeNavigate2 이벤트에서 PostData 읽어오기 (GET 방식과 POST 방식의 구분) (0) | 2008.12.04 |
ActiveX의 ProgID 변경하기 (0) | 2008.11.26 |
생성자 오버로딩 하기 (0) | 2008.11.20 |
동적 IP, DNS 변경 함수 (0) | 2008.11.12 |
소수점 이하 제거하는 함수 (0) | 2008.10.06 |
Delphi 2007에서 DSPack 설치하기 (0) | 2008.09.24 |
Internet Explorer7 에서 현재 활성화 되있는 탭윈도우 핸들 얻기 (0) | 2008.08.28 |
Delphi로 ActiveX 제작시 DAX 에러나는 문제 해결법 (0) | 2008.08.07 |
인터넷에서 파일 다운로드 하기 (0) | 2008.07.17 |