如何实现下拉数据窗口中的选择蓝条随光标的移动面移动

poemlake 2003-12-10 09:44:25
如何实现下拉数据窗口中的选择蓝条随光标的移动而移动,而不是选中蓝条停在某行记录上不动,当点鼠标后才移动到某行。
...全文
140 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tse126 2003-12-11
  • 打赏
  • 举报
回复
//在dw中自定義事件ue_mess,事件ID:pbm_command
//寫如下代碼

DataWindowChild Ldw_Column,Ldw_Child
String Ls_Column,Ls_Name,Ls_Pointer
Long m,Ll_Row
//得到有下拉數據窗口列的子數據窗口名
FOR m = 1 TO long(this.object.datawindow.column.count)
Ls_Column = this.describe("#" + String(m) + ".name")
IF this.getchild(Ls_Column,Ldw_Column) = 1 then
Ls_Name = Ls_Column
this.getchild(Ls_Name,Ldw_Child)
IF hwndchild = handle(Ldw_Child) THEN
//2311是在dddw中mousemove(用戶移動鼠標)的資訊
IF notificationcode = 2311 THEN
//得到鼠標所在的行的名稱及行號
Ls_Pointer = Ldw_Child.getobjectatpointer()
Ll_Row = long(mid(Ls_Pointer,pos(Ls_Pointer,"~t") + 1))
//移動到鼠標所在的行
IF Ldw_Child.getrow() <> Ll_Row AND Ll_Row > 0 THEN
Ldw_Child.scrolltorow(Ll_Row)
END IF
END IF
END IF
ELSE
RETURN
END IF
NEXT

RETURN 1
chrisfy 2003-12-11
  • 打赏
  • 举报
回复
下拉数据窗口还不是一样,只是处理对象不同:子数据窗口.selectrow(row,true)
hdvcd 2003-12-11
  • 打赏
  • 举报
回复
学习
poemlake 2003-12-11
  • 打赏
  • 举报
回复
谢谢楼上这位兄弟的代码,楼上是高人啊,可能我的数据窗口的第一列是计算列,所以楼上的代码刚开始不好使,我把for循环去掉了,直接让M=4(包含下拉数据窗口的列号)结果就好使了,非常好用,多谢各位了
bunnysky 2003-12-11
  • 打赏
  • 举报
回复
帮你UP!!
poemlake 2003-12-10
  • 打赏
  • 举报
回复
写什么代码,我以前看过一个这样的例子,没在意,现在要用了,却找不到代码,也不知道怎么实现的
thelazyman 2003-12-10
  • 打赏
  • 举报
回复
在数据窗口自定义事件Event id为pbm_mousemove中写代码即可!!
poemlake 2003-12-10
  • 打赏
  • 举报
回复
鼠标,一楼的代码是在数据窗口里,我要的是下拉数据窗口的选择蓝条随鼠标动,不是数据窗口
lmby 2003-12-10
  • 打赏
  • 举报
回复
光标 是指鼠标?那就在mousemove里做
zc1966 2003-12-10
  • 打赏
  • 举报
回复
定义数据窗口mousemove事件
其代码如下:
string ls_object
ls_object = trim(getObjectAtPointer ( ))
int pos1,row,old_row
pos1 =pos(ls_object,'~t',1)
if pos1 =0 then return
row = integer(lower(right(ls_object,len(ls_object) - pos1 )))
if row=old_row then return

this.selectrow(0,false)
this.selectrow(row,true)
old_row=row

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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