打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
组合框和文本框的关系

我提的问题焦点是:能否让键盘上的上下箭头键对表单上的列表框起作用的情况下,而表单上的文本框一直保持光标不离开可随时输入字母。 
我设计的表单上的列表框RowSourcetype是:6-字段,RowSource是:商品名.名称,拼音简码,在表单上的文本框(用于显示商品名)中先输入拼

音简码时就触发interactivechange事件,在该事件中执行set filter this.value$商品名.拼音简码命令,列表框即显示相应一大批商品名,

这时根据列表框显示内容的情况,有时还需在文本框中继续输入字母以缩小列表框的显示范围,而有时可直接按键盘上的上下箭头键移动列表

框上的选择行到所需的商品名,这时按键盘上的回车键,商品名则进入文本框。问题是:如何让文本框保持光标不离开可随时输入字母的情况

下,又能按键盘上的上下箭头键移动列表框的选择行。

--设你的表单上的这个文本框和列表框分别为:Text1和List1

1、
--表单Init事件代码:
This.KeyPreview=.T.
This.List1.Visible=.F.

2、
--表单KeyPress事件代码:
Lparameters nKeyCode, nShiftAltCtrl
If (nKeyCode=5 Or nKeyCode=24 Or nKeyCode=13) And This.List1.Visible And This.List1.ListItemId>0 And This.Text1.Tag='1'
    If nKeyCode=13
        This.Text1.Value=This.List1.Value
        This.List1.Visible=.F.
    Else
        lnListID=Iif(nKeyCode=5,Max(This.list1.ListItemId-1,1),Min(This.list1.ListItemId+1,This.list1.ListCount))
        This.list1.ListItemId=lnListID
        Nodefault
    Endif
Endif

3、
--Text1的GotFocus事件代码:
This.Tag='1'

--Text1的LostFocus事件代码:
Thisform.List1.Visible=.F.
This.Tag=''

--Text1的InteractiveChange事件代码:
If !Empty(This.Value)
    Thisform.list1.RowSource=Null
    Select 名称 From 商品名 Where Alltrim(This.Value)$拼音简码 Into Cursor t1 Order By 名称
    Thisform.list1.RowSourceType=6
    Thisform.list1.RowSource="t1.名称"
    If Reccount('t1')>0
        Thisform.List1.ListItemId=1
        Thisform.List1.Visible=.T.
    Else
        Thisform.List1.Visible=.F.
    Endif
Else
    Thisform.List1.Visible=.F.
Endif

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
看实例学VFP:用sql语句修改数据表记录
VFP表单设计 - 已解决 - 搜搜问问
Visual Foxpro表格的使用方法与技巧
常用的表单控件
js获取jsp页面所有文本框的值
2009年计算机等级考试(二级VFP刘丽主讲)精粹之一
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服