vb窗体中的resize是啥事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb窗体中的resize是啥事件?相关的知识,希望对你有一定的参考价值。

当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生。(例如,一个窗体被最大化、最小化或被还原。)语法Private Sub Form_Resize( )Private Sub object_Resize(height As Single, width As Single)说明当父窗体调整大小时,可用 Resize 事件过程来移动控件或调整其大小。也可用此事件过程来重新计算那些变量或属性,如:ScaleHeight 和 ScaleWidth 等,它们取决于该窗体的尺寸。如果在调整大小时想要保持图形的大小与窗体的大小成比例,可在一个 Resize 事件中通过使用 Refresh 方法调用 Paint 事件。任何时候只要 AutoRedraw 属性被设置为 False 而且窗体被调整大小,Visual Basic 也会按 Resize 和 Paint 的顺序调用相关的事件。当给这些相关事件附加过程时,要确保它们的操作不会互相冲突。当一个 OLE 容器控件的 SizeMode 属性被设置为 2(自动调大小)时,该控件自动根据所显示的包含于该控件之中的对象的大小来调整其大小。如果所显示的对象的大小发生变化,则该控件自动重调其大小以适应该对象的变化。当这种情况出现时,为该对象调用 Resize 事件会在 OLE 容器控件被重调大小之前发生。height 和 width 部分指示该对象显示的最佳大小(这个尺寸由创建该对象的应用程序决定)。 参考技术A resize事件是窗口大小改变时发生的事件,可以在窗口开启、最大化、最小化、窗口大小改变(如拖拉改变窗口大小、move语句改变窗口大小、改变width或height属性以改变窗口大小)时发生。

vb中怎样设置窗体中的控件为透明

半透明也可以

参考技术A 窗体透明
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const HWND_TOPMOST = -1
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Dim lTime As Long
Dim lTime As Long
Private Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = &H2
Private Const LWA_COLORKEY = &H1
Private Sub Form_Load()
Dim rtn As Long

Me.BackColor = RGB(255, 255, 255)
BorderStyler = 0
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, RGB(255, 255, 255), 100, LWA_COLORKEY
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / Screen.TwipsPerPixelX _
, Me.Top \ Screen.TwipsPerPixelY, Me.Width \ Screen.TwipsPerPixelX, _
Me.Height \ Screen.TwipsPerPixelY, 0本回答被提问者采纳
参考技术B 只有Label控件可以设置透明,其它都不行。 参考技术C 除了特殊几个控件,其它的没办法直接设置透明或者半透明。。。

如果要实现这些效果,需要调用系统的API来实现,具体你可以百度一下

以上是关于vb窗体中的resize是啥事件?的主要内容,如果未能解决你的问题,请参考以下文章

vb中的resize 是啥意思,怎么用

vb中一个窗口中的控件随窗口的大小改变而相应改变位置

在VB6.0中,运行一个窗体时,放大该窗体的尺寸时将触发的事件是

resize事件的用法是啥

vb中如何使窗体和控件的相对位置不发生改变

.net中如何动态改变Label控件的位置