一个问题???

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"。
请问是什么原因做成的,麻烦各位高手看看,请指点一下,应该如何解决问题!谢谢!!:(
...全文
114 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

397

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧