| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
跟大牛学C++学算法数据结构
共有 352 人关注过本帖
标题:VB 窗口中某控件改变大小时其他控件也按比例改变大小
只看楼主 加入收藏
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
结帖率:100%
  已结贴   问题点数:20  回复次数:5   
VB 窗口中某控件改变大小时其他控件也按比例改变大小
Dim aa As Boolean
Private Sub Form_Resize()
    TreeView1.MousePointer = 9   '设鼠标类型
End Sub
Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    aa = True
End Sub
Private Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If aa = True Then
        Text1.Left = TreeView1.Left + X
        RichTextBox1.Left = TreeView1.Left + X
        TreeView1.Width = RichTextBox1.Left - TreeView1.Left
    End If
End Sub
Private Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    aa = False
End Sub
上述代码实现程序运行后,拖动treeview控件时,其他控件随着一起变换位置,但其他控件的大小不能变化,如何让其他控件大小也一起变化。请教各位。

[此贴子已经被作者于2018-12-20 20:34编辑过]

2018-12-20 18:07
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
  得分:0 
如果有类似的帖子推荐一下,我可以自己学习。谢谢啦!
2018-12-20 18:25
yingshu
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:36
专家分:148
注 册:2018-7-24
  得分:10 
TreeView1_MouseMove事件
TreeView1.Width = RichTextBox1.Left - TreeView1.Left       ’按下鼠标移动的过程中改变treeview的宽度  
后面在加一个Text1.Width = Me.ScaleWidth - Text1.Left - 500   
’这句代码的意思,首先定义treeview和text的宽度和treeview.left属性之和限制在窗体宽度内me。scalewidth,当改变treeview的宽度,相应增加和减少text的宽度

效果类似于:在VB的IDE中,鼠标点中工具箱的右侧移动,整个界面重新划分区域,实际中非常实用

当然,只是个例子,非常简单,使用过程中还要做很多限制,比如,treeview和text的width不得小于一个范围;鼠标的限制等

你代码中,涉及鼠标事件和窗体的resize事件,这些事件和拖动没关系,treeview的dragmode设置为自动,能看到拖动效果;设置为手动,看不到拖动效果



知识有限,希望对你有帮助
2018-12-21 09:56
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:86
帖 子:859
专家分:4510
注 册:2016-5-10
  得分:10 
Private Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    '在这个事件中,随 TreeView1 的 Width 与 Height 值的改变,需要改变的不仅仅是其他控件 Left 的改变,还要改变其他控件的  Width 、 Height、Top 的。
    '这样才能适应随 TreeView1 的改变而改变其他控件的位置与大小。由于控件初始位置不同,不能给出具体的代码。
    '最好在 Form_Load 过程中存储各控件的 Left、Width 、 Height、Top 的原始值,存储的变量应该是模块级变量。
End Sub
2018-12-21 09:56
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
  得分:0 
回复 4楼 ZHRXJR
谢谢!我用了两个image控件实现了。
2018-12-21 22:13
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
  得分:0 
回复 3楼 yingshu
谢谢!我用了两个image控件实现了。
2018-12-21 22:15







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057363 second(s), 9 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved