我正在使用 AlphaBlend。没有什么特别的。
我的代码在 Vista、Windows 7 和 Windows 8 上运行良好,但在 Windows XP 上运行良好。
通常 AlphaBlend 返回 1,但在 XP 上返回 0。我在 2 台 XP 计算机上对其进行了测试。
我完全感到困惑。
GetLastError 返回“成功完成”。
我很确定 AlphaBlend 应该可以在 XP 上运行。有人知道如何继续吗?
我的(VB6-)代码是
Dim LBF As Long
Dim bf As BLENDFUNCTION
With bf
.BlendOp = AC_SRC_OVER
.SourceConstantAlpha = 255
End With
Call CopyMemory(LBF, bf, Len(bf)) 'Copy struct into a Long var
(......这里还有一些其他的东西......)
Dim iRet&
iRet = AlphaBlend(Me.Picture1.hdc, 0, 0, lDestWidth, lDestHeight, lOtherDC, 0, 0, (rOtherWin.Right - rOtherWin.Left), (rOtherWin.Bottom - rOtherWin.Top), LBF)
所有值都有效且符合预期,但 AlphaBlend 返回 0。
谢谢你。