原文:http://blog.csdn.net/dropme/article/details/6253528

窗体上放一个ApplicationEvent控件,OnMessage事件中这么写

  1. uses
  2. ActiveX;
  3. procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
  4. const
  5. StdKeys = [VK_TAB, VK_RETURN, VK_BACK]; { standard keys }
  6. ExtKeys = [VK_DELETE, VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN]; { extended keys }
  7. fExtended = $01000000; { extended key flag }
  8. var
  9. CurrentEWB: TEmbeddedWB;
  10. begin
  11. Handled := False;
  12. CurrentEWB := EmbeddedWB1;
  13. if Assigned(CurrentEWB) then
  14. if IsChild(CurrentEWB.Handle, Msg.Hwnd) then
  15. begin
  16. Handled := (IsDialogMessage(CurrentEWB.Handle, Msg) = True);
  17. if Handled and not CurrentEWB.Busy then
  18. if ((Msg.Message >= WM_KEYFIRST) and (Msg.Message <= WM_KEYLAST)) and
  19. ((Msg.wParam in StdKeys) or (GetKeyState(VK_CONTROL) < 0) or (Msg.wParam in ExtKeys) and
  20. ((Msg.lParam and fExtended) = fExtended)) then
  21. begin
  22. Handled := (CurrentEWB.Application as IOleInPlaceActiveObject).TranslateAccelerator(Msg) = S_OK;
  23. if not Handled then
  24. begin
  25. Handled := True;
  26. TranslateMessage(Msg);
  27. DispatchMessage(Msg);
  28. end;
  29. end;
  30. end;
  31. end;

http://blog.csdn.net/aqtata/article/details/8669286

Webbrowser加载Flash后方向键失效问题(用到了OLE接口,没有被处理就转发,够复杂的)的更多相关文章

  1. Delphi中用Webbrowser加载百度地图滚轮失效(ApplicationEvents里使用IsChild提前判断是哪个控件的消息)

    在Delphi中使用Webbrowser加载百度地图时,点击了其它界面,再回到百度地图中,即使点击了鼠标,再用滚轮也不能缩 放地图,除非点地图里面的自带的控件,之后才能缩放,原因是因为其它窗体控件获得 ...

  2. Safari 中加载 Flash 使用overflow失效的bug

    在Flash标签中加入参数:wmode=transparent

  3. WebBrowser加载一个URL被多次调用DocumentCompleted 的问题解决方案<转>

    关于DocumentCompleted事件,MSDN给出的解释是在文档加载完毕后执行,但是在我的程序中DocumentCompleted却被多次调用,查了一下资料,大概出现了以下几种情况. 1.Web ...

  4. JQuery 之 在数据加载完成后才自动执行函数

    数据加载完成执行: $(window).load(function(){ ... }); 进入页就执行,不论等数据是否加载完成: $(document).ready(function(){ ... } ...

  5. cef3加载flash闪烁问题非easyhook的另外一种解决方法

    1.现象 cef3加载flash,会出现弹出命令行窗口,显示not sandboxed,影响使用体验. 网上的解决方法,参考此文. http://blog.csdn.NET/zx2356/articl ...

  6. HTML加载FLASH(*.swf文件)详解

    引言 在web项目中经常会遇到在线浏览word文档,通常解决方法将word转换成pdf,然后在线浏览,但是在实际实现过程中,由于阅读器的原因,用户可以直接下载该pdf,这显然不是我们想要的,通过网络搜 ...

  7. 页面加载完成后,触发事件——trigger()

    <button id="btn">点击我</button> <div id="test"></div> 如果页面 ...

  8. js 图片加载完后的处理事件

    //图片加载完成后再显示页面 document.getElementById('icon').onload=function(){ document.getElementById('wrap').st ...

  9. 如何在HTML中加载Flash(2种实现方法)_HTML/Xhtml_网页制作

    点评:如何在HTML中加载Flash,为网页添加更多的色彩,普通的网页以无法满足用户的需求,接下来为大家介绍下2种在HTML中加载Flash的方法,感兴趣的各位可以适当参考下,希望对你有所帮助 第一种 ...

随机推荐

  1. 基于visual Studio2013解决C语言竞赛题之0414特殊平方数

       题目 解决代码及点评 这道题依旧是通过for循环,遍历所有四位数,然后根据题目要求判断数的性质即可 /**************************************** ...

  2. Pencil OJ 01 开发的准备

    操作系统 ubuntu-12.04.5-desktop-amd64.iso 基本应用 Node 0.12.7 MongoDB 3.0.4 Robomongo 0.8.4 Atom 参考资料 OJ hu ...

  3. Android之Camera控制拍照

    package com.android.xiong.cameratest; import java.io.File; import java.io.FileOutputStream; import j ...

  4. CSS - ResetCss

    /* KISSY CSS Reset 理念:清除和重置是紧密不可分的 特色:1.适应中文 2.基于最新主流浏览器 */ /* 清除内外边距 */ body, h1, h2, h3, h4, h5, h ...

  5. Git 将本次修改追加在上一次修改上面

    Git 将本次修改追加在上一次修改上面 git add . git commit --amend 之后就是进入日志提交页面 确保change-Id那条记录出现在最后一行,如: zh-->en 修 ...

  6. 【C/C++多线程编程之四】终止pthread线程

    多线程编程之终止pthread线程       Pthread是 POSIX threads 的简称,是POSIX的线程标准.           终止线程似乎是多线程编程的最后一步,但绝不是本系列教 ...

  7. Android ListView 常见问题与使用总结

    一.机制 ListView机制 - 先运行getCount.然后运行getView. 假设getCount返回0,不运行getView Gallery convertView不会复用.每次都返回NUL ...

  8. C语言,数据类型

    #include <stdio.h> void f0(void) { printf("in linux:\n"); printf("sizeof(char) ...

  9. 哈,又一款超级简单的队列(MQ)实现方案来了~

    开源的消息队列已经很多了,但大部分很重,实际环境下,很多可能只是使用到了一点功能而已,杀鸡使用牛刀,着实有些浪费了.很多时候,我们只想要一片绿叶,但它们给了我们整个的春天,很难消化.本着DIR精神, ...

  10. Xcode4.6 自制iOS可用的 Framework

    First of all:新建一个空白project. File->New->Project 然后新建两个文件 File->New->File  如图 然后选择targets ...