炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4066|回复: 0

[开源教程] E069 ComboBox 鼠标点击弹出下拉列表

[复制链接]

该用户从未签到

发表于 2016-3-7 19:14:50 | 显示全部楼层 |阅读模式

说一下要点,

因为ComboBox是没有下拉按钮的,当鼠标点击右边下拉三角形的位置,系统就会自动弹出
下拉列表,这里有一个小窍门。注册combobox 左键弹起,然后在事件中模拟左键按下消息,
注意参数是 下拉按钮的坐标,这样就刚好可以实现了!和酷狗歌曲搜索框是一样的,大家可以
实验一下






具体可以查看炫彩编程助手 e69 这个例子


  1. .版本 2

  2. .程序集 程序集1
  3. .程序集变量 hComboBox, 整数型

  4. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码

  5. 第十四课ComboBox ()
  6. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  7. 返回 (0)  ' 可以根据您的需要返回任意数值

  8. .子程序 _临时子程序




  9. .子程序 第十四课ComboBox
  10. .局部变量 hWindow, 整数型
  11. .局部变量 hAdapter, 整数型
  12. .局部变量 txt, 字节集

  13. ' 初始化炫彩资源
  14. XInitXCGUI ({  })

  15. ' 创建窗口并且显示
  16. hWindow = XWnd_Create (0, 0, 500, 300, L (“dasemimi”), 0, #xc_window_style_default)

  17. hComboBox = XComboBox_Create (10, 30, 100, 50, hWindow)
  18. XComboBox_SetItemTemplateXML (hComboBox, L (“XML-template\ComboBox_ListBox_Item.xml”))

  19. hAdapter = XAdapterTable_Create ()
  20. XComboBox_BindApapter (hComboBox, hAdapter)
  21. XAdapterTable_AddColumn (hAdapter, L (“name”))

  22. ' 和酷狗一样,注册鼠标弹起时候,自动弹出下拉列表
  23. XEle_RegEventC (hComboBox, #XE_LBUTTONUP, 到整数 (&OnLButtonDown))
  24. XAdapterTable_AddItemText (hAdapter, L (“dasemimi”))
  25. XAdapterTable_AddItemText (hAdapter, L (“xcgui”))

  26. ' XEle_RegEventC (hComboBox, #XE_COMBOBOX_SELECT, 到整数 (&OnComboBoxSelect))

  27. XWnd_ShowWindow (hWindow, 5)

  28. XRunXCGUI ()  ' 内部消息处理等等
  29. XExitXCGUI ()  ' 释放资源


  30. .子程序 OnLButtonDown, 整数型, , int CALLBACK OnLButtonDown(UINT nFlags, POINT *pPt,BOOL *pbHandled);  
  31. .参数 nFlags, 整数型
  32. .参数 pPt, 整数型
  33. .参数 pbHandled, 逻辑型, 参考
  34. .局部变量 rt, RECT
  35. .局部变量 pt, POINT


  36. XComboBox_GetButtonRect (hComboBox, rt)
  37. pt.x = rt.left + 1
  38. pt.y = rt.top + 1
  39. XEle_SendEvent (hComboBox, hComboBox, #XE_LBUTTONDOWN, 0, 取指针_Point (pt))
  40. 返回 (0)


  41. .子程序 OnComboBoxSelect, 整数型
  42. .参数 iItem, 整数型
  43. .参数 bHandled, 逻辑型, 参考
  44. .局部变量 pbHandled, 整数型

  45. 返回 (0)


  46. .子程序 取指针_Point, 整数型, 公开, 取变量数据地址 这个和文本的是一样的
  47. .参数 var, POINT, 参考, 这里取类的。。。。

  48. 置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
  49. ' mov eax,[ebp+8]
  50. ' mov eax,[eax]
  51. ' leave
  52. ' ret 4
  53. 返回 (0)  ' 本源码来自易语言资源网(www.5A5X.com)
复制代码


您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-5-9 05:08 , Processed in 0.063608 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表