vb 怎样制作全透明无边框的窗体,我是小白,希望能具体写下代码。 计算机编程语言有哪些?

作者&投稿:啜侵 (若有异议请与网页底部的电邮联系)

首先,把窗体的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

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



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

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


首先,把窗体的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
运行后就是全透明无边框的窗体了

新手应该学习什么编程语言?~

编程语言较多常用的有c,c++,java,c#,perl,Delphi等,我建议按Python->C++ 这个顺序学,
基本上学通这两种语言就够用了,最好在了解一下汇编和c就更好了。
python是一种脚本语言,简单易学,可跨平台运行(windows,linux,部分手机等),配合第三方库可以实现许多常用功能,例如建站,谷歌的搜索引擎就是用它开发的。
c++是经典的编程语言就不多说了。将python与c++结合起来编程威力强大。
但不知是否可以完全代替java等语言呢?有待检验。其他语言应该也有其各自优点和用途,只是编程语言很多,并且想真正学通一种语言很费时间,如果 将所有语言学会是不可能的,即使全部学会的话,真正应用起来大概只需一两种语言足以。
因此建议挑一两种常用且功能强大覆盖范围广的语言即可。