是否可以創建一個半透明的窗體,它應該在任何打開的窗口中可見,而不是隱藏在後面?請指導!使用VB6的半透明窗體
回答
當然,看到卡爾·彼得森的「半透明」的例子:http://vb.mvps.org/samples/Translucent/
爲了保持在其他窗口可見的形式,你想使用SetWindowPos API函數。
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
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const OnTopFlags = SWP_NOMOVE Or SWP_NOSIZE
Public Sub FormOnTop(frm As Form)
Call SetWindowPos(frm.hWnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, OnTopFlags)
End Sub
對不起,但沒有幫助。我從提供的鏈接下載了代碼並粘貼了Joe提供的代碼。但是如果有新窗口,說任何瀏覽器打開,它都隱藏在瀏覽器窗口後面。 – 2010-09-01 20:02:16
GSerg - 我搜索谷歌的代碼,但只發現代碼,使窗體半透明不是我想要的。透明的所有窗口不隱藏類似於帶寬儀表,其中圖形顯示在瀏覽器窗口。 – 2010-09-01 20:05:48
我會看看我再次發佈的示例和代碼;你可以在你的項目中使用CTranslucent類,並且只需要在你想要的任何form_load上調用透明度。同樣在form_load上,使用Me對象調用FormOnTop函數,即「Call FormOnTop(Me)」 – 2010-09-01 20:34:55
'function to make transparent'
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 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 Const G = (-20)
Private Const LWA_COLORKEY = &H1 'to trans'
Private Const LWA_ALPHA = &H2 'to semi trans'
Private Const WS_EX_LAYERED = &H80000
Private Sub Form_Activate()
Me.BackColor = vbBlue
Trans 1
End Sub
Private Sub Trans(Level As Integer)
Dim Msg As Long
Msg = GetWindowLong(Me.hwnd, G)
Msg = Msg Or WS_EX_LAYERED
SetWindowLong Me.hwnd, G, Msg
SetLayeredWindowAttributes Me.hwnd, vbBlue, Level, LWA_COLORKEY
End Sub
- 1. 半透明窗體形式
- 2. C#WF半透明窗體
- 3. C# - 使窗體移動時半透明
- 4. OpenGL的透明/半透明
- 5. 如何使字體與Irrlicht半透明?
- 6. 使用半透明UINavigationBars
- 7. C#透明窗體
- 8. 窗體的透明背景(Windows窗體)
- 9. 半透明AppWidget?
- 10. 半透明NSView
- 11. 模糊半透明窗體的背景(如Aero玻璃)
- 12. 在wxwidgets中繪製半透明窗口
- 13. Visual Studio 2010 - 半透明浮動窗口
- 14. xlib半透明窗口背景
- 15. 如何使透明框內的窗體(iframe)不透明?
- 16. 如何使JTextField半透明
- 17. 如何在Visual Basic窗體中創建半透明效果?
- 18. 如何創建Microsoft Office 2010 TP等半透明Windows窗體?
- 19. OpenGL半透明固體沒有折射?
- 20. 半透明物體渲染順序
- 21. 透明窗體背景HTML
- 22. C#設計透明窗體
- 23. 帶半透明(半透明)帶的繪製路徑
- 24. QML:如何創建半透明/半透明的WebView元素?
- 25. 半透明光標
- 26. 透明或半透明面板控制
- 27. 如何使用wxpython創建半透明/透明矩形?
- 28. 如何使子窗體透明?
- 29. 半透明的PictureBox c#
- 30. 在Visual Studio窗體窗體的面板上使用不透明度的技巧?
@GSerg第一款谷歌命中很可能是不可靠的代碼,特別是因爲它有必要調用Windows API。以下接受的答案引用了優秀網站的高質量代碼。 – MarkJ 2010-09-02 08:55:24