如何才能使自定义控件中的按钮文本框根据控件大小改变尺寸 当然在你做控件的时候根据 RESIZE 自己调了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 control类和form类好像不太一样,自定义的控件在设计时可以用鼠标缩放,但是在运行时的尺寸比例就不对了。下面是我的resize的代码' Dim scaleheight, scalewidth, moveleft, movetop' scaleheight = UserControl.Height / control_height '= UserControl.scaleheight / control_height' scalewidth = UserControl.Width / control_width '= UserControl.scalewidth / control_width' moveleft = scalewidth' frmName.Caption = scaleheight'' frmName.Height = frmName.Height * scaleheight' frmName.Width = frmName.Width * scalewidth' 'frmName.Left = frmName.Left * moveleft' cmdProperty.Height = cmdProperty.Height * scaleheight' cmdProperty.Width = cmdProperty.Width * scalewidth' cmdProperty.Left = cmdProperty.Left * moveleft 加入設計時代碼啊。方法一般為用TAG屬性存下該用戶控件內每人控件的四個點的坐標,然後在RESIZE事件裡面按按後比例各自將其TAG屬性內的數據進行計算得出其最後的坐標即可。 Resize 事件 当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生。(例如,一个窗体被最大化、最小化或被还原。)语法Private Sub Form_Resize( )Private Sub object_Resize(height As Single, width As Single)Resize 事件语法包括下列部分:部分 描述 object 一个对象表达式,其值是“应用于”列表中的一个对象。 height 指定控件新高度的数。 width 指定控件新宽度的数。 说明当父窗体调整大小时,可用 Resize 事件过程来移动控件或调整其大小。也可用此事件过程来重新计算那些变量或属性,如:ScaleHeight 和 ScaleWidth 等,它们取决于该窗体的尺寸。如果在调整大小时想要保持图形的大小与窗体的大小成比例,可在一个 Resize 事件中通过使用 Refresh 方法调用 Paint 事件。任何时候只要 AutoRedraw 属性被设置为 False 而且窗体被调整大小,Visual Basic 也会按 Resize 和 Paint 的顺序调用相关的事件。当给这些相关事件附加过程时,要确保它们的操作不会互相冲突。当一个 OLE 容器控件的 SizeMode 属性被设置为 2(自动调大小)时,该控件自动根据所显示的包含于该控件之中的对象的大小来调整其大小。如果所显示的对象的大小发生变化,则该控件自动重调其大小以适应该对象的变化。当这种情况出现时,为该对象调用 Resize 事件会在 OLE 容器控件被重调大小之前发生。height 和 width 部分指示该对象显示的最佳大小(这个尺寸由创建该对象的应用程序决定)。可通过在 Resize 事件中改变 height 和 width 部分的值来按不同的尺寸设定控件的大小。Resize 事件示例本例在任何调整窗体大小时的时候,都将自动调整一个 TextBox 控件的大小以填充该窗体。要尝试这个例子,可以将代码粘贴到包含 TextBox 的窗体声明部分。 设置 TextBox 控件的 MultiLine 属性为 True,ScrollBars 属性为 3,BorderStyle 属性为 0,然后按F5键并调整窗体大小。Private Sub Form_Load () Text1.Text = "" ' 清除文本。End SubPrivate Sub Form_Resize () Text1.Move 0,0, ScaleWidth, ScaleHeightEnd Sub 以后请不要乱贴msdn上的内容,呵呵。drk928的想法有道理。 请高手帮忙VB代码问题 关于vb+sql实现数据库中的数据异地同步(类似于数据报盘功能) 我想在D:\A.TXT文件里,写入3行数据 在VB中怎么才能灵活的操作 Illustrator 高手请进 用我所有的分跪求!!!在客户端把照片存进数据库,在客户端从数据库中取出照片的代码! 沈阳小蜜蜂软件公司向沈阳招纳各路VB豪杰 嗨,谁知道《模拟人生》哪里有下载的?这里先谢谢了。 谁可以为我推荐一款FTP软件 可恶!vb6下运行好好的,但生成可执行文件后,运行会出错!为什么要这样对我??? 请问VBA能否调用VB6作的DLL? 请问怎么在一个事件里写公共的代码呀?
下面是我的resize的代码
' Dim scaleheight, scalewidth, moveleft, movetop
' scaleheight = UserControl.Height / control_height '= UserControl.scaleheight / control_height
' scalewidth = UserControl.Width / control_width '= UserControl.scalewidth / control_width
' moveleft = scalewidth
' frmName.Caption = scaleheight
'
' frmName.Height = frmName.Height * scaleheight
' frmName.Width = frmName.Width * scalewidth
' 'frmName.Left = frmName.Left * moveleft
' cmdProperty.Height = cmdProperty.Height * scaleheight
' cmdProperty.Width = cmdProperty.Width * scalewidth
' cmdProperty.Left = cmdProperty.Left * moveleft
Resize 事件
当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生。(例如,一个窗体被最大化、最小化或被还原。)语法Private Sub Form_Resize( )Private Sub object_Resize(height As Single, width As Single)Resize 事件语法包括下列部分:部分 描述
object 一个对象表达式,其值是“应用于”列表中的一个对象。
height 指定控件新高度的数。
width 指定控件新宽度的数。
说明当父窗体调整大小时,可用 Resize 事件过程来移动控件或调整其大小。也可用此事件过程来重新计算那些变量或属性,如:ScaleHeight 和 ScaleWidth 等,它们取决于该窗体的尺寸。如果在调整大小时想要保持图形的大小与窗体的大小成比例,可在一个 Resize 事件中通过使用 Refresh 方法调用 Paint 事件。任何时候只要 AutoRedraw 属性被设置为 False 而且窗体被调整大小,Visual Basic 也会按 Resize 和 Paint 的顺序调用相关的事件。当给这些相关事件附加过程时,要确保它们的操作不会互相冲突。当一个 OLE 容器控件的 SizeMode 属性被设置为 2(自动调大小)时,该控件自动根据所显示的包含于该控件之中的对象的大小来调整其大小。如果所显示的对象的大小发生变化,则该控件自动重调其大小以适应该对象的变化。当这种情况出现时,为该对象调用 Resize 事件会在 OLE 容器控件被重调大小之前发生。height 和 width 部分指示该对象显示的最佳大小(这个尺寸由创建该对象的应用程序决定)。可通过在 Resize 事件中改变 height 和 width 部分的值来按不同的尺寸设定控件的大小。
Resize 事件示例
本例在任何调整窗体大小时的时候,都将自动调整一个 TextBox 控件的大小以填充该窗体。要尝试这个例子,可以将代码粘贴到包含 TextBox 的窗体声明部分。 设置 TextBox 控件的 MultiLine 属性为 True,ScrollBars 属性为 3,BorderStyle 属性为 0,然后按F5键并调整窗体大小。Private Sub Form_Load ()
Text1.Text = "" ' 清除文本。
End SubPrivate Sub Form_Resize ()
Text1.Move 0,0, ScaleWidth, ScaleHeight
End Sub
drk928的想法有道理。