设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: czqwf
打印 上一主题 下一主题

[其它] Dhtmleditor在ACCESS中无法使用回车的问题

[复制链接]
11#
发表于 2005-8-25 06:07:00 | 只看该作者
楼主别急,这个问题有办法解决,只是代码量比较大。我已经做了一个例程可以在DHTML Editor里面正常使用回车,但是有个后遗症就是一按回车剪贴板会被清空,目前正在修复这个BUG,差不多明天就可以发给你参考。
12#
发表于 2005-8-25 08:06:00 | 只看该作者
作了整整半天的原因分析和文档学习,发现VBA在窗体的事件处理上的确存在一些缺陷。试图通过事件截获来解决这个问题未果。

最后决定放弃依赖不可靠的VBA事件处理,采用了一个取巧的做法,完整地解决了这个问题。

附件中为完成后的示例,核心部分是一个模块,加上窗体中的一段事件处理代码。你可以在自己的程序中自由使用。





[此贴子已经被作者于2005-9-6 9:05:18编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
13#
 楼主| 发表于 2005-9-1 03:48:00 | 只看该作者
你先试试就知道你说的根本行不通了
14#
 楼主| 发表于 2005-9-1 04:04:00 | 只看该作者
我是说再上上楼的
15#
 楼主| 发表于 2005-9-1 04:06:00 | 只看该作者
我看了一下,有点意思,我根据你的再看看还有没别的更好的方法
16#
发表于 2005-9-1 04:54:00 | 只看该作者
以下是引用czqwf在2005-8-31 20:06:00的发言:

我看了一下,有点意思,我根据你的再看看还有没别的更好的方法

基本思路是这样的,使用窗体的KeyPreview属性来设置窗体捕获你的回车事件,然后通过调用WIn32 API完全备份剪贴板数据,然后写入一个换行符到剪贴版,利用编辑器控件几乎都有的Paste方法粘贴到编辑器里面,然后完全恢复原来的剪贴板。

应该是没有更好的方法了,为了这个问题,我曾经用EventsHub监视过回车键按下后所有事件的发生过程和顺序,问题是出在Access身上,基本不太可能解决得了。

[此贴子已经被作者于2005-8-31 20:57:35编辑过]

17#
 楼主| 发表于 2005-9-5 20:12:00 | 只看该作者
我想也是的.

不过我的那种做法起作用的原因还是不能理解
18#
发表于 2005-9-5 21:45:00 | 只看该作者
以下是引用czqwf在2005-9-5 12:12:00的发言:



我想也是的.

不过我的那种做法起作用的原因还是不能理解



  你那种做法起作用的原因并不复杂。我已经可以完整重复你所说的过程,但是这个过程你在程序中是无法使用的。

  这种方法的触发方式是在Enter后触发一个代码执行错误,自动切换到调试模式,然后回来,然后手工切换回来,就可以输入了。你说的乱点也是一样,都是在输入后迅速切换焦点,导致Access系统的事件处理出错,然后失去对于Enter的控制。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-30 12:10 , Processed in 0.133393 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表