就是使TWwebbrowser的快捷键如F5刷新网页,ctrl+N打开新网页失效!
解决方案 »
- 【求助】玩过DDK的同仁进来帮一下忙,ly_liuyang一定要来哦:)
- delphi 中如何把FORM的最大化按钮去掉,不要嫌我分少,我没分给了
- 一个送分的问题,如何把一个动态的记录数组做为参数传给一个函数?再问,如何在DataModule关掉整个程序,谢谢!
- 一个很菜的问题,来者有分
- 帮忙解决一个简单的SQL问题要好多钱给好多!!!
- 如何只把年月日存到数据库中,不把时分秒存到数据库中?
- 我有一段程序很有意思,请各位连到自己的程序里测测,看看由有什么原因引起。(100分)
- 救命有分送哦!!!
- 高分求教:"变速齿轮"的原理?
- 为什么装RX控件失败?
- ListView在smallIcon模式下,如何知道行数呢?
- 在哪里重画ListView中的进度条?
function TCustomEmbeddedWB.DoFilterMsg(const lpMsg: PMSG): HRESULT;
begin
Result := S_FALSE;
if (lpMsg^.message = WM_KEYDOWN)
and (GetKeyState(VK_CONTROL) < 0) then
begin
if 'N' = Char(lpMsg.wParam) then
begin
Result := S_OK;
end;
end;
end;function TranslateAccelerator(const lpMsg: PMSG;
const pguidCmdGroup: PGUID; const nCmdID: DWORD): HRESULT;
begin
Result := DoFilterMsg(lpMsg);
end;
var Handled: Boolean);
var
mPoint: TPoint;
const
_KeyPressMask = $80000000;
begin
//屏蔽右键菜单
// with Msg do
// begin
// if not IsChild(WebBrowser1.Handle, hWnd) then Exit;
// Handled := (message = WM_RBUTTONDOWN) or (message = WM_RBUTTONUP) or (message = WM_CONTEXTMENU);
// end; //替换右键菜单
if IsChild(WebBrowser1.Handle, Msg.Hwnd) and
((Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP)) then
begin
GetCursorPos(mPoint); //得到光标位置
PopupMenu1.Popup(mPoint.X, mPoint.Y); //弹出popupmenu1的菜单
Handled:=True;
end; //禁止Ctrl + N
//禁止Ctrl + F
//禁止Ctrl + A
if Msg.message = WM_KEYDOWN then
begin
if ((Msg.lParam and _KeyPressMask) = 0) and
(GetKeyState(VK_Control) <0) and ((Msg.wParam = Ord('N'))
or (Msg.wParam = Ord('F')) or (Msg.wParam = Ord('A'))) then
begin
Handled := True;
end;
end;
end;