VB6 透明效果

来源:百度知道 编辑:UC知道 时间:2024/06/06 12:27:20
像一些画图的软件(比如mspaint..之类)
在crop(选定...or something..不知道中文是什么。。)的时候
出来的那个drag的方框
怎么做成半透明效果(像XP/Vista资源管理器中多选文件的时候那种)
用GDIPlus的话。。有没有不卡的方法?
我用GDIPlus做,选定的时候很卡,而且闪闪的。。
(不cls的话又会重叠)
.........怎么都不看题....

最好用GDI+...
1楼我不是这个意思
LayeredWindow我会
我要的是窗体中部分内容透明
比如用
GdipCreateLineBrush
GdipFillRectangle
但是我做了很卡

顺便说下..1楼那个代码...用了以后窗子会消失得...
setlwa那一步balpha设成0不就完全透明看不到了?。。。

要是有人能详细讲讲GDI+...加200分...

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 GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) _
As Long

Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA As Long = &H2
Private Const WS_EX_LAYERED As Long = &H80000

Private Declare Function SetLayeredWindowAttributes Lib "user32" _
(ByVal hwnd As Long, _
ByVal crKey As Long, _
ByVal bAlpha As Long, _
ByVal dwFlags As Long) _
As Long

Private Sub Form_Load(