回 帖 发 新 帖 刷新版面

主题:急 如何制定弹出窗口,用来显示查询结果


如何制定弹出窗口的类,用来显示查询结果。(像速达软件一样,在表格中输入一个字时弹出窗口)

要求:  1、像组合框COMBO的弹出窗口一样,将它放在表格里,当在text中输入一个字时,则弹出一个窗口,显示包含该字的记录。点击一行即可选择。

2、将combo放进表格,可实现,但无法进行搜索。因此,想自己制作一个类来实现。如果用容器,则无法像combo的弹出窗口一样。

回复列表 (共7个回复)

沙发

可以在组合框下加一个列表框,查询结果在列表框显示,列表框调入时不可显,组合框有查找数据时弹出,失去焦点时隐藏。可以达到你说的效果

板凳


但是,将它放在表格中,就无法像combo一样打开,只能局限在表格的不格子里

3 楼

1楼所说的列表框可以不放在表格中,只作为表单的一个控件。用时显示,不用时隐藏。

4 楼


如何使列表框的位置,随光标移动?

5 楼

一、在表单的 INIT 或 LOAD 事件中定义一个全局变量 nTOP
二、在表格的 Column1 (如果是第一个列的话)的 MouseMove 事件中加入以下代码:
    nTOP=nYCoord
三、在表格的 AfterRowColChange 事件中加入以下代码:
    nN=This.Top+This.HeaderHeight
    nH=This.RowHeight 
    THisform.List1.Top=INT((nTop-nN+nH-1)/nH)*nH+nN
    THisform.List1.Left=20 &&这个值是可以预知的

6 楼


还有一个问题,就是当表格在表单的下部时,弹出的列表框只能显示一部分(被表单遮挡)。如何能使列表框不被表单遮挡呢? 

有一种方法是:使列表框的位置向上移动。可是有时左边或右边被挡,又得解决。若是列表框有多个的情况等,太麻烦。所以,最好是直接解决成不被遮挡。就像组合框的弹出窗口一样,只要在窗口范围内,无论在表单的哪个位置都可显示。

另外,能不能提示制作一个类来解决在一个表单中需要用多个列表框的情况。因为表格中每一列的搜索内容是不一样的,一个表可能有几列需要这样的功能。

7 楼

设置列表框:VISIBLE=.F.
在文本框中输入字符后,(VISIBLE=.T.)自动弹出列表框,选择内容后,列表框自动关闭,也就是.F.,从你上传的JPG看,最好是食品名称与拼音简拼对照,通过简拼的输入缩小查询范围,思路是这样的,代码还要靠自己写。
另外,GRID中设置一个列表框就够用了,为什么,自己想。提示一下,从数据源方面考虑。

我来回复

您尚未登录,请登录后再回复。点此登录或注册