在线高分求RichTextBox透明,要求要代码,
分不够可与再加

解决方案 »

  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
    Private Const WS_EX_LAYERED = &H80000
    Private Const GWL_EXSTYLE = (-20)
    Private Const LWA_ALPHA = &H2Private Sub Form_Load()
       Dim rtn As Long
       rtn = GetWindowLong(Form1.hwnd, GWL_EXSTYLE)
       rtn = rtn Or WS_EX_LAYERED
       SetWindowLong Form1.hwnd, GWL_EXSTYLE, rtn
       SetLayeredWindowAttributes Form1.hwnd, 0, 100, LWA_ALPHA
    End Sub
    200为透明度,取值范围是0-255
    你可以把richtextbox设置和form一样大,不要标题栏
    呵呵~~
      

  2.   

    楼上的代码在win9x下无效,我的意见是进行子类处理
      

  3.   

    只能模拟,不能真正实现(自己写一个RichTextBox除外)而且那种模拟的方法也需要你自己管理文本绘制