以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于个人自定义计算器 求改进 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7534) |
||||
-- 作者:yankunhao -- 发布时间:2010/7/6 18:54:00 -- 关于个人自定义计算器 求改进 做了一个计算器窗口,当要计算时按=号就可以调出这个计算器窗口,然后输入如2+3+8的代码按回车就能将计算结果输入到当前行的数量列。 但有个问题,现在只按=号是不能达到上述所说的,只有按“ctrl+=”才能达到所想的目的。
请问有什么办法只按“=”号就能达到想要的结果呢?
[此贴子已经被作者于2010-7-6 18:55:40编辑过]
|
||||
-- 作者:czy -- 发布时间:2010/7/6 19:45:00 -- 我按等于键可以调出窗口,只不过会在焦点单元格中输入等于字符。 |
||||
-- 作者:yankunhao -- 发布时间:2010/7/6 21:42:00 -- 是可以调出窗口,但计算结果不会自动显示,如果按"ctrl + ="时调出窗口就能将计算结果显示于数量列的当前行里。 |
||||
-- 作者:yankunhao -- 发布时间:2010/7/6 22:06:00 -- If e.KeyCode=keys.Oemplus then
这样就可以了,呵呵。 |
||||
-- 作者:czy -- 发布时间:2010/7/6 22:26:00 -- 呵呵,Sendkeys.Send("{TAB}")多此一举吧? |
||||
-- 作者:yankunhao -- 发布时间:2010/7/6 23:01:00 -- 还是有一个问题(在独立窗口时),就是得到结果时,再按任何健都不会反应,除非点一下鼠标才行;如果改为模式窗口时,按健虽然有反应, 但得不到结果。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/7/6 23:14:00 -- 没必要用计算器吧,简单点,在ValidateEdit事件中判断输入内容,如果内容以“=”开始,例如:
=99+128
则用eval求此表达式的值,并用求得的值替换输入的内容。 [此贴子已经被作者于2010-7-6 23:14:29编辑过]
|
||||
-- 作者:yankunhao -- 发布时间:2010/7/7 8:49:00 -- 以下是引用狐狸爸爸在2010-7-6 23:14:00的发言:
没必要用计算器吧,简单点,在ValidateEdit事件中判断输入内容,如果内容以“=”开始,例如:
=99+128
则用eval求此表达式的值,并用求得的值替换输入的内容。 [此贴子已经被作者于2010-7-6 23:14:29编辑过] 经测试这个方法只有在列的数据类型为字符时才可以,如果在数值列就不行。请问是这样吗? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/7/7 8:59:00 -- 是这个理,看来此方法没有实际意义。
|
||||
-- 作者:yankunhao -- 发布时间:2010/7/7 9:07:00 -- 所以还是以窗口的形来做吧,大家有没办法解决像我在6楼所说的现象呢? |