vb 怎样制作全透明无边框的窗体,我是小白,希望能具体写下代码。

网上查到的所谓透明无边框的窗体边缘还是有条细线,我需要的是完全没有边框也没有标题栏,因为我在编译一个左面精灵的程序,不需要显示窗体,只想显示窗体上的flash控件,请大师... 网上查到的所谓透明无边框的窗体边缘还是有条细线,我需要的是完全没有边框也没有标题栏,因为我在编译一个左面精灵的程序,不需要显示窗体,只想显示窗体上的flash控件,请大师指点。 展开
 我来答
网海1书生
科技发烧友

2015-01-12 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

首先,把窗体的BorderStyle属性设为0

然后,输入以下代码:

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

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()
Me.AutoRedraw = True
Me.BackColor = &HFF0001
SetWindowLong Me.HWnd, GWL_EXSTYLE, GetWindowLong(Me.HWnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes Me.HWnd, &HFF0001, 0, LWA_COLORKEY
End Sub

运行后就是全透明无边框的窗体了

啊就丶榮
2017-12-27 · TA获得超过362个赞
知道小有建树答主
回答量:549
采纳率:65%
帮助的人:96.7万
展开全部

不知道这种效果是否适合你,在窗体上打印出来的字都是透明的并且透明地方点击是不会点击到窗体的

Public Const WS_EX_LAYERED = &H80000
Public Const GWL_EXSTYLE = (-20)
Public Const LWA_ALPHA = &H2
Public Const LWA_COLORKEY = &H1
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, _
                                                                           ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, _
                                                                           ByVal nIndex As Long, _
                                                                           ByVal dwNewLong As Long) As Long
Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, _
                                                                 ByVal crKey As Long, _
                                                                 ByVal bAlpha As Byte, _
                                                                 ByVal dwFlags As Long) As Long
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
Public Sub transparence(ByVal Frm As Form)
    Dim rtn As Long
    rtn = GetWindowLong(Frm.hwnd, GWL_EXSTYLE)
    rtn = rtn Or WS_EX_LAYERED
    SetWindowLong Frm.hwnd, GWL_EXSTYLE, rtn
    SetLayeredWindowAttributes Frm.hwnd, RGB(255, 255, 253), 0, LWA_COLORKEY
End Sub
'------------------------------↑↑↑↑↑↑↑↑↑↑↑↑模块↑↑↑↑↑↑↑↑↑↑↑↑----------------------
'------------------↓↓↓↓↓↓↓↓↓↓↓↓窗体并添加一个text1和command1↓↓↓↓↓↓↓↓↓↓↓----------------------
Private Sub Command1_Click()
Form1.ForeColor = RGB(255, 255, 253)
Print Text1.Text
transparence Me
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枝金枝R1
2020-05-29 · TA获得超过4138个赞
知道小有建树答主
回答量:3155
采纳率:27%
帮助的人:210万
展开全部
首先,把窗体的BorderStyle属性设为0
然后,输入以下代码:
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
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()
Me.AutoRedraw = True
Me.BackColor = &HFF0001
SetWindowLong Me.HWnd, GWL_EXSTYLE, GetWindowLong(Me.HWnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes Me.HWnd, &HFF0001, 0, LWA_COLORKEY
End Sub
运行后就是全透明无边框的窗体了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式