我可以想到的唯一可能影响它的是以下(从VBForums开始,我用来使青色元素透明,就像你在图像中看到的那样,但是这对vbYellow没有任何影响.
Private Declare Function getwindowlong lib "user32" Alias "getwindowlongA" ( _ ByVal hwnd As Long,_ ByVal nIndex As Long) As LongPrivate Declare Function SetwindowLong lib "user32" Alias "SetwindowLongA" ( _ ByVal hwnd As Long,_ ByVal nIndex As Long,_ ByVal DWNewLong As Long) As LongPrivate Declare Function SetlayeredWindowAttributes lib "user32" ( _ ByVal hwnd As Long,_ ByVal crKey As Long,_ ByVal bAlpha As Byte,_ ByVal DWFlags As Long) As LongPrivate Const GWL_STYLE = (-16)Private Const GWL_EXSTYLE = (-20)Private Const WS_EX_layered = &H80000Private Const LWA_colorKEY = &H1Private Const LWA_Alpha = &H2Private Sub Form_Load()Me.Backcolor = vbCyanSetwindowLong Me.hwnd,GWL_EXSTYLE,getwindowlong(Me.hwnd,GWL_EXSTYLE) Or WS_EX_layeredSetlayeredWindowAttributes Me.hwnd,vbCyan,0&,LWA_colorKEYEnd Sub
我试图用相同颜色的图像替换vbYellow形状.这也有点击功能,但最终会得到相同的结果,甚至不会触发任何设置的点击功能.
解决方法 我认为问题在于VB6 / Win32有时会使用不同的颜色代码.有时只需从#RRGGBB(RGB)切换到#BBGGRR(BGR).选择黄色的好颜色是洋红色,#FF00FF,因为无论是否切换红色和蓝色成分,此颜色都会起作用.
然后可以直接使用vbmagenta而不会出现问题.
总结以上是内存溢出为你收集整理的vb6 – 表单上的黄色对象显示点击透明度全部内容,希望文章能够帮你解决vb6 – 表单上的黄色对象显示点击透明度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)