各位:帮帮忙吧!(动态生成控件ComboBox的问题),急,急,急。。。。。。

doface 2004-04-26 12:56:23
在VB中用程序动态生成控件ComboBox时,不能为他设定Style属性,请问各位,怎么设定它的Style属性为2,只能选择不能输入,谢谢。
...全文
64 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kivic 2004-04-26
  • 打赏
  • 举报
回复
建一个combox(0)设好style隐藏,代码用load combox(i),unload combox(i)
combox(i).move ....
dragon525 2004-04-26
  • 打赏
  • 举报
回复
通过语句Combo1.Style=2是不行的,因为Style是只读属性。combox控件的style的值为0-DropDown Combo时,combox控件里有一个Edit文本框窗口,而combo控件的style的值为2-DropDown List时,则没有Edit文本框窗口。因此可以通过kill子窗口Edit来实现。。

以下代码测试通过:
-------------------------------------------------------------------
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Const GW_CHILD = 5

Private Sub Form_Load()
Dim cmb As ComboBox
Dim ChildHwnd As Long
Set cmb = Controls.Add("VB.ComboBox", "Combo1")'动态添加combox
cmb.Left = 10
cmb.Top = 10
cmb.AddItem "AAA"
cmb.AddItem "BBB"
cmb.Visible = True
ChildHwnd = GetWindow(cmb.hwnd, GW_CHILD) '取得Edit句柄
Call DestroyWindow(ChildHwnd) '销毁Edit窗口
End Sub
-------------------------------------------------------------------------
haipingma 2004-04-26
  • 打赏
  • 举报
回复
這個本來就只能在設計階段設置
victorycyz 2004-04-26
  • 打赏
  • 举报
回复

style属性只能在设计时设置。

解决的办法之一:不用controls.add方法。用添加控件数组的方法。
liujiayu10 2004-04-26
  • 打赏
  • 举报
回复
你把事件放到哪里了?INIT?还是LOAD?

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧