博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IE浏览器开发中遇到的问题
阅读量:6628 次
发布时间:2019-06-25

本文共 1046 字,大约阅读时间需要 3 分钟。

这个ie浏览器的问题搞了我很久了,主要是退格键的问题

参照的是codeproject上ie   toolband   的代码,它也有中文乱码的问题

将原函数
STDMETHODIMP   CEditQuote::TranslateAcceleratorIO(LPMSG   lpMsg)
{
        TranslateMessage(lpMsg);
        DispatchMessage(lpMsg);
}

 
修改为
CEditQuote::TranslateAcceleratorIO()函数
{
if
   (
!
TranslateMessage(lpMsg))
  
return
   S_FALSE;
DispatchMessage(lpMsg);
  
return
   S_OK;

原因

The   TranslateMessage   function   does   not   modify   the   message   pointed   to   by   the   lpMsg   parameter.  
WM_KEYDOWN   and   WM_KEYUP   combinations   produce   a   WM_CHAR   or   WM_DEADCHAR   message.   WM_SYSKEYDOWN   and   WM_SYSKEYUP   combinations   produce   a   WM_SYSCHAR   or   WM_SYSDEADCHAR   message.  
TranslateMessage   produces   WM_CHAR   messages   only   for   keys   that   are   mapped   to   ASCII   characters   by   the   keyboard   driver.  
If   applications   process   virtual-key   messages   for   some   other   purpose,   they   should   not   call   TranslateMessage.   For   instance,   an   application   should   not   call   TranslateMessage   if   the   TranslateAccelerator   function   returns   a   nonzero   value.  
中文输入是两个WM_CHAR的,我是觉得这里很可能会有些问题,就改动了这里。

 

转载于:https://www.cnblogs.com/a12-3/archive/2010/08/04/1792451.html

你可能感兴趣的文章
转:Android世界的15款开源的游戏开发引擎
查看>>
多线程访问同一个可变变量,需增加同步机制
查看>>
apdplat 多表查询属性设置
查看>>
kibana: 异常流量调优过程
查看>>
我的友情链接
查看>>
nfs实现mysql数据库共享
查看>>
我的友情链接
查看>>
VS打开项目属性文件丢失问题
查看>>
我的友情链接
查看>>
在Flask App中使用计时器-timer
查看>>
(荷兰)彼得·冯·门施著:博物馆学研究的目的
查看>>
负载均衡手段之DNS轮询
查看>>
spring3 自带 cache 整合之方法缓存
查看>>
print spooler 错误0x800706b9 资源不足
查看>>
Python面试题----求出哪个用户的广告费最高
查看>>
使用wireshark以及filddler配合抓去手机端的TCP以及HTTP请求
查看>>
类的初始化列表的必要性
查看>>
linux系统意见优化脚本
查看>>
磁盘以及文件系统管理之四
查看>>
java程序员必知的 8大排序
查看>>