注册 登录
编程论坛 VB6论坛

高手请看,动态创建的frae和滚动条,想滑动滚动条时frame向上或向下跟着移动。为何滚动条无反应?请问我的代码错在什么地方?

jxwjlx 发布于 2015-12-02 21:06, 742 次点击
Private Sub Form_Load()
   
 
   Set Frame0 = Controls.Add("VB.frame", "Frame0")  '创建能整体移动的frame
  ' Set Frame0.Container = Form1
   Frame0.Move 400, 1000, 4000, 5000
   Frame0.BackColor = &HFFFFF
   Frame0.Visible = True
   
   Set VScroll1 = Controls.Add("VB.VScrollbar", "VScroll1")  '创建能控件frame移动的滚动条
 '  Set VScroll1.Container = Form
   VScroll1.Move Frame0.Width + 400, 1000, 400, Frame0.Height
   VScroll1.TabStop = False
   VScroll1.Visible = True
   
   VScroll1.Min = 0
   VScroll1.Max = Frame0.Height
   VScroll1.SmallChange = 100
   VScroll1.LargeChange = Frame0.Height
   
End Sub
Private Sub VScroll1_Change()
  Frame0.Move 400, -VScroll1.Value
End Sub
 
Private Sub VScroll1_Scroll()   '请问对于动态创建的可不可以这样写Private Sub VScroll1_Scroll()   
  Frame0.Move 400, -VScroll1.Value
End Sub

[此贴子已经被作者于2015-12-5 11:32编辑过]

4 回复
#2
xiangyue05102015-12-03 12:53
参考一下这段代码,现在没有条件替你测试。
另外一种方式就是VScroll1一直在,根据是否需要使用,修改其Visibility属性。
程序代码:
dim oControl as Object    '窗体级变量
Private Sub LoadControl()
Set oControl = Controls.Add
("VB. CommandButton", "MyButton")
oControl.Visible = True
End Sub

Private Sub oControl_ObjectEvent(Info As EventInfo)
Select Case Info.Name
Case "Click" 'Click事件
    '您可以添加处理Click事件代码
    MsgBox "您按了MyButton!"
Case Else ' 其他事件
'
Handle unknown events here.
End Select
End Sub
#3
jxwjlx2015-12-03 18:13
请各位大老们抽点时间看看我的代码错在什么地方?为何滚动条没起到作用?
#4
jxwjlx2015-12-04 10:56
动态创建的滚动条不能控制动态创建的文本或frame框吗?请举例
#5
风吹过b2015-12-07 16:29
动态创建的 控件,事件响应不能和添加好了的控件一样直接写响应代码,需要申明。
有这个申明,不建议使用动态创建控件。

动态创建控件,只建议应用于那种只读取属性和操作的控件。
1