一个问题???

mjh7781 2002-02-03 09:21:04
我建有一个数窗dw_1,并定义了一个事件key 事件ID: pbm_dwnprocessenter
一个全局变量:ole_column

在数窗中的key事件中写以下程序:
send(handle(dw_1),256,9,0)
在数窗中的itemfocuschanged事件中写以下程序:
string ls_error
ls_error =dw_1.Modify(dw_1.getcolumnname() + ".Background.Color = '32768'")

if ls_column = "" then
ls_column = dw_1.getcolumnname()
else
ls_error =dw_1.modify(ls_column + ".background.color = " + string(rgb(255,255,232)))
ls_column = dw_1.getcolumnname()
end if

if ls_error <> "" then
messagebox('错误',ls_error)
end if

以上程序主要是实现:改变当前列的背景颜色。程序运行后,能够实现正确结果。
但问题是例如:我在第一列输入一个字符串"abc"按回车后,跳到第二列,第二的内容就会变为"abc"。
请问是什么原因做成的,麻烦各位高手看看,请指点一下,应该如何解决问题!谢谢!!:(
...全文
83 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mjh7781 2002-02-04
在数窗中的key事件中写以下程序:
send(handle(dw_1),256,9,0)
return 1
已经试过了,还是不行?怎样办才好!!
回复
wangsw 2002-02-04
在EDITCHANGED事件中写
回复
wangsw 2002-02-04
itemfocuschanged已经是改变以后的列了!!!!
回复
mjh7781 2002-02-04
都是一样-------不行!!!!
回复
zhanwei 2002-02-04

在数窗中的key事件中写以下程序:
send(handle(dw_1),256,9,0)
return 1
原因:既然你自己处理了系统要做的事,就要屏蔽掉系统要做的,让你编辑的当前列有时间接受你的输入!OK!
回复
sorrow_arrow 2002-02-04
rock_csdn(乱云)少写了一点,应该是:
this.setredraw(true)
不过这个和this.setredraw(false)是配对使用的,具体看帮助

我只是给你说了一下怎么用,能不能帮你姐姐问题我就不管了,建议也试试tiantianpb的方法。
回复
zhanwei 2002-02-04
你试一下如下方法:
另外再定义一个用户事件ue_postitemchanged,id不选
将你在itemfocuschanged事件中写的程序剪切到ue_postitemchanged中
然后在itemfocuschanged 中加上:
this.post event ue_postitemchanged()
再试!
回复
mjh7781 2002-02-03
setredraw(ture)
怎样使用???引用时提示出错!!!
回复
rock_csdn 2002-02-03
在itemfocuschanged() 中加上
setredraw(ture)
试下?
回复
rock_csdn 2002-02-03
结束时用一下:setredraw(true)试试?
回复
tiantianpb 2002-02-03
send(handle(dw_1),256,9,0)
return 1
回复
相关推荐
发帖
非技术版
创建于2007-09-28

379

社区成员

PowerBuilder 非技术版
申请成为版主
帖子事件
创建了帖子
2002-02-03 09:21
社区公告
暂无公告