用TextBox实现组合框中的文本,用窗体实现下拉框,下拉框中的列表用TreeView实现
现在的问题的,怎样让列表框在控件失去焦点时自动收起来(隐藏)我的做法是
1、在窗体(下拉框)活动时SetCapture TreeView.hwnd,让TreeView处理所有鼠标事件
2、处理TreeView_MouseDown事件,当在列表框外点击鼠标时,隐藏列表这种方法在TreeView没有滚动条时是有效的,但在TreeView出现滚动条时就不行了,当点击了滚动条后TreeView不再拥有处理鼠标事件的优先权,所以在点击了滚动条后,列表框不能自动隐藏请教各位,你们在做下拉列表框(组合框)用类似控件时是怎样处理的呢
请大家多发表意见,如果问题得到解决,因为是困扰多时的问题,我会另开帖加分
现在的问题的,怎样让列表框在控件失去焦点时自动收起来(隐藏)我的做法是
1、在窗体(下拉框)活动时SetCapture TreeView.hwnd,让TreeView处理所有鼠标事件
2、处理TreeView_MouseDown事件,当在列表框外点击鼠标时,隐藏列表这种方法在TreeView没有滚动条时是有效的,但在TreeView出现滚动条时就不行了,当点击了滚动条后TreeView不再拥有处理鼠标事件的优先权,所以在点击了滚动条后,列表框不能自动隐藏请教各位,你们在做下拉列表框(组合框)用类似控件时是怎样处理的呢
请大家多发表意见,如果问题得到解决,因为是困扰多时的问题,我会另开帖加分
解决方案 »
- 求Donetbar代码
- G729/G723.1编码后的声音文件,用什么软件可以播放?
- 怎么不格式网页,又在网页随意增加一行代码
- 关于一个循环的问题(急急急急急急!!!!!!!!!!!)
- VB最基本的打包需要包含哪些文件?
- 快来啊!!!小弟我写了一个不错的字幕控件!!!与大家分享!!但不是免费的哦!!
- VB inet控件下载ftp,每次下下来的都是0db的空文件
- adodc控件数据更新问题,第一个帮我解决问题的,100分全部俸上!
- 为什么用SETUP FACTORY 6。03打包的程序安装以后会出现源代码程序?
- 请问怎样在msflexgrid显示时使非数字字符右对齐
- 怎样剪切模拟器图片
- 高分求助,我用vb做一个ActiveX控件来操作word对象,请问我如何得到word对象的关闭、保存等事件?
谢谢你的回答
当控件用在模态窗体中时,用来做列表的窗体只能用模态窗体,所以Form_LostFocus不能达到效果
用PICTURE做列表框,我还没有做过,可能要用到SetParent API函数吧,还请多做说明,关键也是在自动隐藏的实现
还有,另外加一个滚动条是一个好办法,但在WinXP下面,自己加的滚动条很不好看,和XP的滚动条不一样。
Err.Clear
On Error Resume Next
Select Case uMsg
Case WM_NCACTIVATE
If wParam = WA_INACTIVE Then
Unload Me
End If
Case WM_ACTIVATE
If wParam = WA_INACTIVE Then
Unload Me
End If
Case Else
End Select
End Sub
用GetClientRect取得TreeView的客户区Rect(不包含滚动条)这样就可以判断是否点击了滚动条