VB6.0 怎样设置ComboBox为不可输入,只可选择!!!!!!!!!!!!!!!!!!!!!

songyingjian2008 2008-12-18 10:38:24
comBox1.style = 2 在代码里这样写总是报错,说无法设置属性
在设计里把Style设为2-DropDown List也报错,说无法设置值,是只可取得值的属性
这是为什么啊,请高手指点,谢谢!!!
...全文
给本帖投票
1898 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanxilin 2011-03-01
  • 打赏
  • 举报
回复
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = 0
End Sub

Private Sub Combo1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
  • 打赏
  • 举报
回复
在属性窗口中设置style属性为2,没有文本框,只能显示和选择内容,不能输入。
songyingjian2008 2008-12-18
  • 打赏
  • 举报
回复
我解决了,为什么在设计里把Style设为2-DropDown List总报错
是因为我在初始化的时候给它赋值了
king06 2008-12-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 songyingjian2008 的帖子:]
comBox1.style = 2 在代码里这样写总是报错,说无法设置属性
在设计里把Style设为2-DropDown List也报错,说无法设置值,是只可取得值的属性
这是为什么啊,请高手指点,谢谢!!!
[/Quote]
既然在设计的窗体里把Style设为2-DropDown ,为什么还要在代码里写comBox1.style = 2呢?
特别 2008-12-18
  • 打赏
  • 举报
回复
参考:http://www.vbgood.com/vb.good/article-do-view-articleid-3293.html

Private Const GWL_STYLE = (-16)
Private Const GW_CHILD = 5

Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long

Const SW_HIDE = 0
Const SW_SHOW = 5

'将 ComboBox 的 Style 改为 2 - DropdownList
Private Sub Command1_Click()
Dim ChildHwnd As Long

Combo1.AddItem "One"
Combo1.AddItem "Two"

ChildHwnd = GetWindow(Combo1.hwnd, GW_CHILD) '取edit句柄
Call DestroyWindow(ChildHwnd) 'Kill edit窗口

'改变cmbDropList的Style,这一语句可有可无~~~~,
'Call SetWindowLong(Combo1.hwnd, GWL_STYLE, GetWindowLong(Combo1.hwnd, GWL_STYLE) + 1)

End Sub

7,785

社区成员

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

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

手机看
关注公众号

关注公众号

客服 返回
顶部