如何在MSHFlexGrid 某一列放Combobox
还要加入Command查找按钮
如下图
还要加入Command查找按钮
如下图
解决方案 »
- 今天上火 发个帖子散分加散心
- 新手请教~怎样显示内存中的dib图像呢?请大家进来看看!
- ole控件里有个图片,怎么才能存储到数据库里(vfp)???
- NT Servic控件的问题,急!
- MSHFlexgrid控件与Excel 连接的问题..(动态)
- 谁用过 Microsoft Script Control 啊?这个怎么用啊?
- 如何把记录集中的一列绑定到FlexGrid呢?
- 怎么才能使MdiForm中activebar的快捷键有效?
- 有关datacombo??求助
- 高分求救:最近遇到的三个问题,急切!!!(ado 、shape控件与多屏显示)
- 麻烦老师朋友们给个用VB操作EXCEL的例子学习
- 学ACM有用吗?
把combo 和 command 放在一个picturebox里
然后让Picture的位置跟踪鼠标位置Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Picture1.Move MSHFlexGrid1.CellLeft, MSHFlexGrid1.CellTop
End Sub
Picture1.Move MSHFlexGrid1.CellLeft + MSHFlexGrid1.Left, MSHFlexGrid1.CellTop + MSHFlexGrid1.Top
End Sub经过测试了 位置是准确的
能不能写详细一点,比如Combobox 选中的值怎么传给MSHFlexGrid点Command查找后的值怎么传给MSHFlexGrid
Dim combo_height As IntegerPrivate Sub Form_Load() '先为列表框添加50个项目
Dim i As Integer
For i = 1 To 50: Combo1.AddItem Format$(i): Next i
End SubPrivate Sub Form_Resize() '在窗体的Resize事件中改变列表框的下拉高度 Dim form_mode As Integer
form_mode = ScaleMode
ScaleMode = vbPixels
combo_height = ScaleHeight - Combo1.Top ' - 5
MoveWindow Combo1.hwnd, Combo1.Left, Combo1.Top, Combo1.Width, combo_height, 1
ScaleMode = form_modeEnd Sub
'上面代码(网上搜集)是将Combo默认的8项改成随窗体大小改变而改变,其中的展项高度值combo_height 可以作为 新增 置空 查找命令按钮(是否显示根据combo的出现设置成 显示/隐藏)位置的参照值,具体准确位置调试一下就行了
传递值给一行:
MSHFlexGrid1.AddItem vbTab & "aaaaaaaaaaaaaaaa" & vbTab & "bbbbbbbbbbbbbbb", MSHFlexGrid1.Row
MSHFlexGrid1.RemoveItem (MSHFlexGrid1.Row + 1)
哦 我写丢点东西
Private Sub Combo1_click()
MSHFlexGrid1.TextMatrix(1, 1) = Combo1.List(Combo1.ListIndex)
End SubPrivate Sub Form_Load()
Combo1.AddItem 1111
Combo1.AddItem 2222
Combo1 = "select item"
End Sub
MSHFlexGrid1.TextMatrix(1, 1) = Combo1.List(Combo1.ListIndex)
End SubPrivate Sub Form_Load()
Combo1.AddItem 1111
Combo1.AddItem 2222
Combo1 = "select item"End SubPrivate Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)Combo1.Move MSHFlexGrid1.CellLeft + MSHFlexGrid1.Left, MSHFlexGrid1.CellTop + MSHFlexGrid1.Top
End Sub
你把pic弄大点试试 是不是被combo给遮盖了 还有 你把按钮放到picture里面了么?
用click事件
我这里本来就没放 3个命令按钮,只是说它们的位置是在 combo位置上作调整,如果 Combo显示则它们也显示,否则就隐藏掉; 关于 让某一个单元格获取选中的Combo项内容,网上一搜很多的,不要指望别人写得那么完整,人家给的是思想,自己多动手更有体会!
还有个小问题,
先让Picture1隐藏,点Combo才出现Picture1,MSHFlexGrid1得到值后马上Picture1隐藏这个功能如何实现Private Sub Combo1_click()
Picture1.Visible = True
MSHFlexGrid1.Text = Combo1.Text
Picture1.Visible = False
End SubPrivate Sub Form_Load()
Combo1.AddItem "aaa "
Combo1.AddItem "bbb "
Combo1.AddItem "ccc "
End SubPrivate Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)Picture1.Move MSHFlexGrid1.CellLeft + MSHFlexGrid1.Left, MSHFlexGrid1.CellTop + MSHFlexGrid1.TopEnd Sub
=====================================
Private Sub Combo1_click()
MSHFlexGrid1.TextMatrix(1, 1) = Combo1.List(Combo1.ListIndex)
Picture1.Visible = False
End SubPrivate Sub Combo1_DropDown()
Picture1.Visible = True
End Sub
Private Sub Form_Load()
Combo1.AddItem 1111
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1 = "select item"
Picture1.Visible = False
End Sub
如果你想点combo1出现picture1
那么你要把combo1防到picture1外面
1点单元combo1.visibal=true
2点combo1 picture11.visibal=true
3combo1选定 单元赋值 combo1.visibal=false picture1.visibal=false
大概过程就这样啦
Combo1.Visible = False
End SubPrivate Sub Combo1_DropDown()
Picture1.Visible = True
End Sub
Private Sub Form_Load()
Combo1.AddItem 1111
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1 = "select item"
Picture1.Visible = False
Combo1.Visible = False
End SubPrivate Sub MSHFlexGrid1_Click()
With MSHFlexGrid1
Combo1.Visible = True
'Picture1.Visible = True ;自己决定combo1和picture1是否同时出现
Combo1.Move .CellLeft + .Left, .CellTop + .Top
Picture1.Move Combo1.Left, Combo1.Top + 300
End With
End Sub
Private Sub Combo1_click()
MSHFlexGrid1.TextMatrix(1, 1) = Combo1.List(Combo1.ListIndex)
'Picture1.Visible = False
Combo1.Visible = False
End SubPrivate Sub Combo1_DropDown()
Picture1.Visible = True
End Sub
Private Sub Form_Load()
Combo1.AddItem 1111
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1.AddItem 2222
Combo1 = "select item"
Picture1.Visible = False
Combo1.Visible = False
End SubPrivate Sub MSHFlexGrid1_Click()
With MSHFlexGrid1
Combo1.Visible = True
'Picture1.Visible = True ;自己决定combo1和picture1是否同时出现
Combo1.Move .CellLeft + .Left, .CellTop + .Top
Picture1.Move Combo1.Left, Combo1.Top + 300
End With
End Sub