datawindowchild怎么设置这样弹出????在线等!!!!!!!
让datawindowchild弹出的数据框窗口,
在编辑框中获得焦点的时候不弹出,当用户开始输入字符的时候马上弹出,
怎么设置????谢谢!!!
问题点数:0、回复次数:15Top
1 楼j9dai(翔)(DoItNow)回复于 2005-03-04 12:02:21 得分 0
帮顶Top
2 楼xgwx(庆)回复于 2005-03-04 12:23:09 得分 0
怎么没人回答呢,是不是很难实现呢Top
3 楼qltouming(缘木渔人-临渊羡鱼,不若退而结网)回复于 2005-03-04 12:27:40 得分 0
在该数窗的editchanged()事件中写:
accepttext()
if data = '' or isnull(data) then
dw_1.object.字段名.DDDW.ShowList = 'no'
else
dw_1.object.字段名.DDDW.ShowList = 'yes'
end ifTop
4 楼wlgyhnj(冷风伴天月)回复于 2005-03-04 12:30:20 得分 0
没听懂。是不是事件的响应问题。Top
5 楼xgwx(庆)回复于 2005-03-04 12:38:25 得分 0
请问"缘木渔人"这位老师,这样能做到,可是,我输入的字符,怎么倒过来了,
也就是说光标老是停留在编辑框第一个字符是????
敬请指导!!!!谢谢!!!!Top
6 楼xgwx(庆)回复于 2005-03-04 12:39:41 得分 0
肯定是accepttext()的事了!!!Top
7 楼xgwx(庆)回复于 2005-03-04 12:48:34 得分 0
光标还是停留在前一位!!Top
8 楼qltouming(缘木渔人-临渊羡鱼,不若退而结网)回复于 2005-03-04 13:13:47 得分 0
我试了试,没办法。你要这样动态修改下接属性它就是这样的,放到别的事件里不触发,要么就得自己做控件把属性写死在编辑时下拉。
或者你再等等吧,看别人有什么好办法~Top
9 楼xgwx(庆)回复于 2005-03-04 13:25:04 得分 0
谢谢您!!工作顺利!!Top
10 楼xgwx(庆)回复于 2005-03-04 13:30:53 得分 0
我有办法把光标用程序放在第二个输入点上吗????Top
11 楼qltouming(缘木渔人-临渊羡鱼,不若退而结网)回复于 2005-03-04 13:43:01 得分 0
想过这个思路,没找到控制方法Top
12 楼xgwx(庆)回复于 2005-03-04 14:17:12 得分 0
我这样控制了一下,但不完美
设置一个初始变量,keycount=true
然后在editchanged事件中定义,
if keycount=true then
this.object.字段名.dddw.ShowList='yes'
this.settext("")
end if
keycount=false //这样第二次输入键的时候,就不再重新弹出了,
不足的是,第一次按键无任何输入,但能控制光标停留在开头。
Top
13 楼hygougou(uoguogyh)回复于 2005-03-04 14:27:50 得分 0
气球实现过的:
1、声明实例变量:
boolean ib_show
2、声明外部函数:
Subroutine keybd_event(int bVk,int bScan,ulong dwFlags,ulong dwExtraInfo) LIBRARY "user32.dll"
3、新建自定义事件:pbm_dwnkey代码如下:
if getcolumn() = 2 then //这里假设你的DDDW是第2列,如果是其他列,则自行修改
if not ib_show then
keybd_event(18,0,0,0)
keybd_event(40,0,0,0)
keybd_event(40,0,2,0)
keybd_event(18,0,2,0)
ib_show = true
end if
else
ib_show = false
end if
4、在DW的clicked和doubleclicked事件中分别写入:
ib_show = false
5、测试一下吧,这样即可弹出下拉DDDW,但是DDDW自动滚动的代码我没有写,你自己完成吧!Top
14 楼xgwx(庆)回复于 2005-03-04 15:15:20 得分 0
太好了!!谢谢大师,完美通过!!Top
15 楼qltouming(缘木渔人-临渊羡鱼,不若退而结网)回复于 2005-03-04 15:37:06 得分 0
嗯嗯,学着~Top




