Foxtable(狐表)用户栏目专家坐堂 → 关于个人自定义计算器 求改进


  共有14186人关注过本帖树形打印复制链接

主题:关于个人自定义计算器 求改进

帅哥哟,离线,有人找我吗?
yankunhao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
关于个人自定义计算器 求改进  发帖心情 Post By:2010/7/6 18:54:00 [只看该作者]

做了一个计算器窗口,当要计算时按=号就可以调出这个计算器窗口,然后输入如2+3+8的代码按回车就能将计算结果输入到当前行的数量列。

 但有个问题,现在只按=号是不能达到上述所说的,只有按“ctrl+=”才能达到所想的目的。

 

  请问有什么办法只按“=”号就能达到想要的结果呢?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计算器.rar

[此贴子已经被作者于2010-7-6 18:55:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/7/6 19:45:00 [只看该作者]

我按等于键可以调出窗口,只不过会在焦点单元格中输入等于字符。

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/6 21:42:00 [只看该作者]

是可以调出窗口,但计算结果不会自动显示,如果按"ctrl + ="时调出窗口就能将计算结果显示于数量列的当前行里。

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/6 22:06:00 [只看该作者]

If e.KeyCode=keys.Oemplus then
Sendkeys.Send("{TAB}")
e.Cancel=true
Forms("计算器").Open()
End If

 

这样就可以了,呵呵。


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/7/6 22:26:00 [只看该作者]

呵呵,Sendkeys.Send("{TAB}")多此一举吧?

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/6 23:01:00 [只看该作者]

还是有一个问题(在独立窗口时),就是得到结果时,再按任何健都不会反应,除非点一下鼠标才行;如果改为模式窗口时,按健虽然有反应, 但得不到结果。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/6 23:14:00 [只看该作者]

没必要用计算器吧,简单点,在ValidateEdit事件中判断输入内容,如果内容以“=”开始,例如:

 

=99+128

 

则用eval求此表达式的值,并用求得的值替换输入的内容。

[此贴子已经被作者于2010-7-6 23:14:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/7 8:49:00 [只看该作者]

以下是引用狐狸爸爸在2010-7-6 23:14:00的发言:

没必要用计算器吧,简单点,在ValidateEdit事件中判断输入内容,如果内容以“=”开始,例如:

 

=99+128

 

则用eval求此表达式的值,并用求得的值替换输入的内容。

[此贴子已经被作者于2010-7-6 23:14:29编辑过]

经测试这个方法只有在列的数据类型为字符时才可以,如果在数值列就不行。请问是这样吗?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/7 8:59:00 [只看该作者]

是这个理,看来此方法没有实际意义。

 

图片点击可在新窗口打开查看

 


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1015 积分:7119 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/7/7 9:07:00 [只看该作者]

所以还是以窗口的形来做吧,大家有没办法解决像我在6楼所说的现象呢?

 回到顶部
总数 29 1 2 3 下一页