精华内容
下载资源
问答
  • 比如你的窗体中有一个DBGrid控件,占了很大一部分,下边有几个按钮 现在需要窗体的大小可调,以使DBGrid可以看到更多的数据,这样的话,窗体上的控件就都需要调整,不然只有窗体变化,而控件不动的话就达不到预期效果,而且...
  • VB6实现不同分辨率控件大小改变 VB6实现不同分辨率控件大小改变
  • VB 控件随窗体自动调整大小,像窗口中的ListBox、Image、FileListBox、VB.Frame控件等,都可以随窗口的大小变化而变化,当用户拖动改变窗口大小时,这些控件大小也会随之改变,这个功能的实现得益于自定义函数Form...
  • vb.net控件随窗口大小调整
  • vb.net控件拖拽,改变大小;整理于https://bbs.csdn.net/topics/70375905网页上hamadou(闵峰)的回复
  • vb 鼠标 改变控件大小

    2013-05-26 13:28:38
    vb 鼠标 改变控件大小
  • 一劳永逸让VB自动改变控件大小 Private Sub Form_Load()//初始化设置  Picture1.AutoSize = True  Command1.Caption = ″显示网格″  Command2.Caption = ″取消网格″  Form1.Caption = ″显示网格图像演示程序...
  • VB程序运行时用鼠标拖动改变控件大小的2种方法 就像鼠标放到窗口边缘改变窗口大小一样
  • 运行程序,可以运行窗体中任意调整控件的位置及大小
  • 控件大小随窗体的改变改变VB6.0源代码.rar
  • Visual Basic控件随窗体大小改变工程源代码
  • 控件按比例随窗体大小改变而变化.控件大小不会因为窗体最大化而改变布局,不会影响美观
  • 内容索引:VB源码,界面编程,滑块,滚动条,字体 VB使用拖动条改变字体大小,用鼠标拖动滑块,窗口内的文字会跟着变大变小,很实用的一个例子,希望对大家有帮助。
  • 有时窗体变化后,如改变分辨率后控件大小不能随之改变。手工代码调整实在麻烦,下面的模块实现自动查找窗体上控件并使其改变大小以适应窗体变化。 在Form的Resize事件中调用函数Resize_All就能实现控件自动调整...
  • VB使用拖动条改变字体大小,用鼠标拖动滑块,窗口内的文字会跟着变大变小,很实用的一个例子,希望对大家有帮助。
  • Visual Basic .NET使得放置和调整控件的工作比在Visual Basic 6中要容易得多。大多数System.Windows.Forms命名空间里的可视控件是由Control类继承下来的,它可以实现两种属性:Anchor和Dock。 Anchor属性可以被...
    Visual Basic .NET使得放置和调整控件的工作比在Visual Basic 6中要容易得多。大多数 System.Windows.Forms命名空间里的可视控件是由 Control类继承下来的,它可以实现两种属性: AnchorDock

    Anchor属性可以被设定为Top,Bottom,Left和Right的任何组合。默认设置是Top,Left。这可以保持控件的top-left角与视窗边框具有相同的相对位置。设置Anchor属性为Top and Bottom可以垂直地调整控件,保证从视窗底部到控件底部距离相同。

     

    Dock属性。这个属性可以被设置为Top,Bottom,Left,Right或Fill。将其设置为Top,Bottom,Left或 Right可以使控件紧挨指定的视窗边缘,或者紧挨已放置到相应视窗边缘的其他控件。设置Dock属性为Fill可以使控件调整为充满视窗的整个客户区。

     

    你还可以使用DockPadding对象来设置填充视窗边框和已放置好的控件间的区域。它有对应每个视窗边框的属性,如果想要边框对每个边都一致也可以通过设置All属性实现。

     

    Visual Basic .NET中新的控件调整功能,淘汰了许多在之前的Visual Basic版本中必需的调整程序。大多数调整任务可以通过在视窗设计处设定新的AnchorDock属性来处理,而根本不需要编程序。

    转载于:https://www.cnblogs.com/aowind/archive/2005/03/11/116939.html

    展开全文
  • vb.net动态改变控件位置和大小,ico vb.net动态改变控件位置和大小,ico
  • VB关于窗体界面与控件的源码,38个打包下载:仿瑞星小狮子界面、控制其他程序成为自己的子窗体、在任务栏上加上程序图标、获取运行程序(控件)名称和内容、锁住Windows直到输入正确的口令、更改墙纸显示方式、MDI...
  • VB程序窗口调整 控件按比例缩放代码,非常有用,让程序最大化后那么难看了
  • 平滑改变窗体大小及其内控件大小不闪动 采用VB6.0编写,API实现,在改变窗体尺寸是闪动
  • VB图形控件pictureBox和Image控件

    千次阅读 2020-09-16 10:39:02
    PictureBox和Image控件都属于图形控件,可以为用户显示图片和图形。两者之间既有相似又存在区别。本节课程将带领小伙伴们学习掌握这两个控件。 PictureBox控件 PictureBox的常用属性 AutoRedraw属性 作用:返回或...

    PictureBox和Image控件都属于图形控件,可以为用户显示图片和图形。两者之间既有相似又存在区别。本节课程将带领小伙伴们学习掌握这两个控件。

    在这里插入图片描述

    PictureBox控件

    PictureBox的常用属性

    AutoRedraw属性

    作用:返回或设置一个值,该值用来确定是否自动重绘PictureBox上的图形。

    语法:

    对象名称.AutoRedraw [ =值 ]
    

    值:boolean类型,当值为True时,系统在会自动重绘,相反为False时不会自动重绘。

    PicturBox作为少有的可以使用print、Line等方法打印文本和图形的控件,该属性与窗体对象的AutoRedraw属性性质一样。在此不做详细解释了,忘记的小伙伴可以回顾下窗体那节课程。

    AutoSize属性

    作用:返回或设置一个值,该值用于确定控件是否自动改变大小以显示全部内容

    语法:

    对象名称.AutoSize [ =值 ]
    

    值:boolean类型,默认值为False

    Picture属性

    作用:设置一个图片路径,用于确定PictureBox控件显示的图片。

    语法:

    对象名称.Picture [ =LoadPicture("路径") ]
    

    PictureBox控件可以支持以下格式:Bitmap、Icon、Metafile、GIF、JPEG

    PictureBox的常用方法

    PictureBox的方法除了Print方法外,其它的方法大多数为绘制图形的的方法,如Circle绘制圆、Line绘制直线等,这些都属于图形知识,将会在下一阶段的中级课程中专门讲解,此处不做介绍。本节课程着重使用其显示图片的功能。

    Image控件

    Image控件的常用属性

    Picture属性:同PictureBox的Picture属性一样。

    Stretch属性

    作用:返回或设置一个值,用来决定一个图片是否需要调整大小以适应Image控件大小。

    语法:

    对象名称.Stretch [ =值 ]
    

    值:boolean类型,取值为True时,图形将会自动调整大小,以适应Image控件的大小,保证可以显示全部的图形。取值为False时,图形的大小不会自动改变,而是会自动改变Image控件去适应图片的大小。

    Stretch属性与PictureBox的AutoSize有所相似,但区别在于,PictureBox的AutoSize设置为True时,是控件自动改变大小以适应图形,而Image控件的Stretch属性设置为True时,是图形自动改变大小以适应控件。

    实战操作练习:

    目的:掌握PictureBox的AutoSize属性以及Image的Stretch属性的使用方法以及之间的区别。

    步骤一:新建工程,并按照下图布局窗体,创建一个PictureBox控件、一个Image控件,以及4个命令按钮控件。

    在这里插入图片描述

    步骤二:修改命令按钮的Caption属性

    在这里插入图片描述

    步骤三:准备一张图片,最好是JPG格式,可以在百度上找一个。并且最好不要寻找矿都和高度过大的图片,否则全尺寸显示的话,窗体可能放不下,导致观察效果不便。下载好图片后,将图片的地址路径复制下来,以备后用。复制图片地址路径的方法为,选中图片——右键——属性——安全——对象名称。

    在这里插入图片描述

    步骤四:编辑代码,按照下图进行各事件过程编写。注意,图片的地址放在LoadPicture(“地址”)函数中,并放在英文状态的双引号之中。

    在这里插入图片描述

    步骤五:运行程序,测试效果。单击不同的按钮,以观察图片和控件的变化效果,思考它们之间的区别。

    在这里插入图片描述

    通过这个案例,可以发现在不同的属性设置下,图片的显示效果是不一样的。对于PictureBox控件而言,实际上不论AutoSize属性设置为True或False都不会影响图片的尺寸,只会影响该控件的尺寸。而对于Image控件来说,Stretch属性设置为True时,图片的长宽将会自动拉伸到与Image控件的长高一致,因此图片可能会有变形。当Stretch设置为False时,Image的控件宽度和高度将会自动去适应图片的宽度和高度。

    根据这两个控件显示图片的效果不同,我们可以在不同的场景选择合适的控件以达到自己的预期效果。

    好啦,本节课程就到这里啦,我们下节课程再见吧。

    展开全文
  • 大家在设计程序的是、经常碰到的情况是、设计时界面很wonderful、实际运行时也不错 、可是一旦当用户改变的窗体大小、一下子就和谐了、那么现在就给一段代码、让窗体内的控件随窗体缩放的百分比进行缩放、资料取自...
     
     
    

    大家在设计程序的是、经常碰到的情况是、设计时界面很wonderful、实际运行时也不错 、可是一旦当用户改变的窗体大小、一下子就不和谐了、那么现在就给一段代码、让窗体内的控件随窗体缩放的百分比进行缩放、资料取自网络、非原创、只是略加整理好了、所以就不说什么了、copy到from里即可、、

    Option Explicit
    Private FormOldWidth As Long
    '保存窗体的原始宽度
    Private FormOldHeight As Long
    '保存窗体的原始高度

    Public Sub ResizeInit(FormName As Form)
        Dim Obj As Control

        FormOldWidth = FormName.ScaleWidth
        FormOldHeight = FormName.ScaleHeight
        On Error Resume Next

        For Each Obj In FormName
            Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
        Next Obj

        On Error GoTo 0
    End Sub

    Public Sub ResizeForm(FormName As Form)
        Dim Pos(4) As Double
        Dim i      As Long, TempPos As Long, StartPos As Long
        Dim Obj    As Control
        Dim ScaleX As Double, ScaleY As Double

        ScaleX = FormName.ScaleWidth / FormOldWidth
        ScaleY = FormName.ScaleHeight / FormOldHeight
        On Error Resume Next

        For Each Obj In FormName
            StartPos = 1

            For i = 0 To 4
                TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)

                If TempPos > 0 Then
                    Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
                    StartPos = TempPos + 1
                Else
                    Pos(i) = 0
                End If

                Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
            Next i
        Next Obj

        On Error GoTo 0
    End Sub

    Private Sub Form_Resize()
        Call ResizeForm(Me) '确保窗体改变时控件随之改变
    End Sub

    Private Sub Form_Load()
        Call ResizeInit(Me) '在程序装入时加入

     '以下四句是运行使窗体最大化

    Me.Top = 0
        Me.Left = 0
        Me.Width = Screen.Width
        Me.Height = Screen.Height
    End Sub

    展开全文
  • vb6 批量修改多个窗体中控件大小、字体、颜色等属性的解决方案,完整代码。
  • VB实现窗口文字大小随窗体大小变化,实现了窗体文字的随窗口大小自适应改变,只要用鼠标拖动窗口的大小,即可改变窗口内所属控件的文字大校自适应大小的窗口框架,注意,把需要随窗体改变大小的空间的tab属性设置成 ...
  • VB改变窗体的文字大小和样式,将窗口中的文字改成黑体或宋体,另外改变字号大小,一个小技巧吧,窗体中的字体对窗体的整体美观效果起到很大作用,改变字体可以改变外观,让用户自定义窗体也需要用到这种小技巧。
  • 使用VB重写日历控件

    声明:本控件完全由个人编写,且仅仅只是我自己的娱乐之作,过程中可能会出现失误。

     

    首先,很负责任地告诉你,VB是自带日历控件的。添加部件"Microsoft Windows Common Controls-2 6.0"后有一个MonthView控件可以实现类似日历的功能。但这个控件并不支持XPManifest,无论如何都无法改变它默认上个世纪年代感的UI,比较影响整体美观。而重写日历控件,与其说是写一个UI更好的MonthView,倒不如拿它当作一个练手的作品,编写的过程中也能更熟悉VB这门语言。 

    (左:MonthView控件,右:重写的日历控件)

     

    首先,用VB新建一个ActiveX控件工程。此工程无法直接运行,为了方便调试,需要在该组加入一个标准EXE工程并将EXE工程设置为启动项。 注意要在窗体里把控件画上去。

    之后就要开始设计控件了。我的建议是画一个Frame,在Frame里画上日期按钮和星期标签,其他元素放在Frame外。

    画成这样我觉得就不错,想画长点画宽点随意。按钮一定要画成7x6的格式才能保证每个月都能显示正常。

    接下来需要研究日历的算法,我的方法不是最优的,但总归可以实现正常显示的功能。

    主要想法是获取系统时间,找到今天在第几个月,判断这个月的第一天是星期几并写在相应格数,按照这个月多少天决定写多少个数字。

    Option Explicit
    Dim fdotm As Date
    Dim y, m As Integer
    
    Private Sub UserControl_Initialize()
        y = Year(Now) '默认打开为今天
        m = Month(Now)
        WriteCal fdotm
    End Sub
    
    Private Sub UserControl_Show()
        Dim i As Integer
        For i = 0 To Controls.Count - 1
            If Controls(i).Name Like "***##" Then '默认选中今天
                If Val(Controls(i).Caption) = Day(Now) Then Controls(i).SetFocus
            End If
        Next
    End Sub
    
    Friend Function MaxDays(d As Date) As Integer '检测这个月一共多少天
        If Month(d) = 1 Then '长月
            MaxDays = 31
        ElseIf Month(d) = 3 Then MaxDays = 31
        ElseIf Month(d) = 5 Then MaxDays = 31
        ElseIf Month(d) = 7 Then MaxDays = 31
        ElseIf Month(d) = 8 Then MaxDays = 31
        ElseIf Month(d) = 10 Then MaxDays = 31
        ElseIf Month(d) = 12 Then MaxDays = 31
        End If
        If Month(d) = 4 Then '短月
            MaxDays = 30
        ElseIf Month(d) = 6 Then MaxDays = 30
        ElseIf Month(d) = 9 Then MaxDays = 30
        ElseIf Month(d) = 11 Then MaxDays = 30
        End If
        If Month(d) = 2 Then '二月需要判断是否为闰年
            If Val(Year(d)) Mod 4 = 0 Then
                MaxDays = 29
            Else
                MaxDays = 28
            End If
        End If
        '使用Select Case也可以
    End Function
    
    Friend Sub WriteCal(ByVal ValFdotm As Date) '写入日历数据
        Dim i, c, v, WX As Integer
        v = MaxDays(ValFdotm)
        If Weekday(ValFdotm, vbMonday) = 7 Then WX = 0 '该月第一天如果是周日则不空格
        If Weekday(ValFdotm, vbMonday) < 7 Then WX = Weekday(ValFdotm, vbMonday)
        For i = 0 To Controls.Count - 1 '按由下到上的顺序扫描所有控件
            If InStr(Controls(i).Name, "Btn") Then
                c = Val(Right(Controls(i).Name, 2))
                    If c >= 11 Then
                        If (Controls(i).TabIndex - 1) - MaxDays(ValFdotm) - WX <= 0 Then
                            Controls(i).Caption = v '由下到上写入日期
                            v = v - 1
                            If v < 1 Then Exit For
                        End If
                    End If
            End If
        Next
    End Sub

    扫描控件的方法有很多,但注意以上代码是按照控件的覆盖顺序扫描的,最底层的控件第一个被扫描,最顶层的最后一个被扫描。我这里就犯了一个错误导致最右下的按钮最先被扫描,整个代码变得复杂了,调整覆盖顺序让最左上的按钮最先被扫描则会简单很多。

    有了主要的内容,其他附加的功能实现起来就没什么问题了。但自定义控件时还需要考虑用户调整控件大小的问题,这时就需要找出每个控件之间的相对关系来保证空间整体大小随用户自定义大小改变。我一开始的想法是让每个按钮平均分布在控件中,用户把控件拉得越大按钮也就越大。但说实话,这真的很难,不仅技术上实现需要很多运算,而且由于同时操控太多控件,会导致控件发生延迟。仔细观察VB自带的MonthView你会发现它是不支持改变大小的,估计也是嫌做这个太麻烦所以没做,不过日历控件本身就是提取一个日期用的,也没必要画太大。我这里折中的办法就是调整Frame的位置,不管控件被画多大,整体能够保持居中的状态,最开始要把按钮画在Frame里的用意也就是这个了。

    贴一个Resize事件的代码吧,一句话,写这个真的全凭感觉,没啥捷径可走。

    Private Sub UserControl_Resize()
        Dim i As Integer
        BtnRight.Left = UserControl.Width - 495
        BtnLeft.Left = BtnRight.Left - BtnLeft.Width
        TexDes.Top = UserControl.Height - 975 '底部文本框
        FraBtns.Left = UserControl.Width / 2 - FraBtns.Width / 2
        FraBtns.Top = UserControl.Height / 2 - FraBtns.Height / 2 - 270
        LblDay.Top = BtnLeft.Top + BtnLeft.Height / 2 - LblDay.Height / 2 '标签
        TexDes.Width = UserControl.Width - 255
        If UserControl.Height < 4215 Then UserControl.Height = 4215 '设置控件的最小尺寸
        If UserControl.Width < 2775 Then UserControl.Width = 2775
    End Sub

    因为没有事先说明每个控件的名称,所以上面的代码也就只能大概展示个思路,我把这个源代码的下载链接贴出来供交流。

    https://download.csdn.net/download/qq_39007641/12256388

    展开全文
  • VB自动改变控件大小

    2007-09-10 23:05:44
    VB自动改变控件大小,比较实用
  • winform 运行时控件更改大小,VB.net 和C# 两种语言实现。注意,例子中picture控件的sizemode需设置成strech
  • VB动态改变控件尺寸

    热门讨论 2008-07-25 08:03:08
    VB中的控件大小在运行时动态改变,你听说过吗?将鼠标放到VB窗体中的控件的边框上,鼠标也会变成双向指针,拖动鼠标即可改变控件大小。 那么我们如何让VB动态改变控件尺寸呢?本资源包含的源程序代码将为您...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,473
精华内容 4,589
关键字:

vb不能改变大小的控件