kaibing 发表于 2013-8-11 21:31:45

怎样在组合列表框输入时自动弹出列表

如题 ,如果不了解可以看看, 淘宝输入的时候就会自动弹出

564837358@qq.co 发表于 2014-2-9 19:37:09

本帖最后由 564837358@qq.co 于 2014-2-9 19:43 编辑

; 以下命令确保加载适合的 OpenDCL ARX 文件。
(if (null (type _load_odcl_runtimes.LSP))
(load
    "E:\\HZLlisp\\opendcl按需加载函数\\_load_odcl_runtimes.LSP"
) ;_ end load
) ;_ end if
;;主程序
(defun c:tt ()
   ; 加载 Untitled.odcl 文件。
(dcl_project_Load
    "E:\\HZLlisp\\opendcltest\\Untitled.odcl"
    T
) ;_ end dcl_project_Load
   ; 显示 "Untitled" "Form1" 对话框示例。
(dcl_Form_Show "Untitled" "Form1")
(princ)
) ;_ end defun
(defun c:Untitled_Form1_TextButton1_OnClicked (/)
(if (not
(member
   (setq
   getdataxx (dcl_ComboBox_GetEBText Untitled_Form1_ComboBox1)
   ) ;_ end setq
   mhXdatalist
) ;_ end member
      ) ;_ end not
    (setq mhXdatalist (cons getdataxx mhXdatalist))
) ;_ end if
(princ getdataxx)
(dcl_Form_Close Untitled_Form1)
) ;_ end defun

   ;先对表 mhXdatalist 赋值在运算
(defun c:Untitled_Form1_ComboBox1_OnEditChanged (NewValue /)
(setq
    getdataxx (dcl_ComboBox_GetEBText Untitled_Form1_ComboBox1)
) ;_ end setq
(setq lis '())
(foreach name mhXdatalist
    (if (vl-string-search
   (strcase getdataxx)
   (strcase name)
)    ;end vl-string-search
      (setq lis (acad_strlsort
    (append lis
   (list name)
    )   ;end append
)   ;end acad_strlsort 按ascill码排序
      ) ;_ end setq
    ) ;_ end if
   ;append 将任意多个表格合并成一个表格
) ;_ end foreach
(if lis
    (progn
      (dcl_ComboBox_Clear Untitled_Form1_ComboBox1)
      (dcl_ComboBox_AddList Untitled_Form1_ComboBox1 lis)
      (dcl_ComboBox_SetCurSel Untitled_Form1_ComboBox1 0)
      (dcl_ComboBox_SetEditSel
Untitled_Form1_ComboBox1
(strlen getdataxx)
100
      )   ;end dcl_ComboBox_SetEditSel
    ) ;_ end progn
) ;_ end if
) ;_ end defun
在其他论坛炒的一份代码你看看适合不?



页: [1]
查看完整版本: 怎样在组合列表框输入时自动弹出列表