我有一个应用程序,在我无法控制的情况下,几个Windows窗体都有一个TransparencyKey属性集。当这些窗口覆盖(在前面)具有DirectDraw视频表面的另一种形式时,前景形式闪烁(部分显示形式并部分显示下面的视频)。问题是,TransparencyKey的颜色不会出现在应用程序的任何地方,因此NOTHING应该是透明的...换句话说,结果应该是前景形式完全不透明。
当与某些形式或其他设置为透明的Windows窗体结合使用时,是否有任何人有使用DirectDraw表面闪烁的经验?我已经为此工作了好几周,没有成功。谢谢!
答案 0 :(得分:1)
我很抱歉,但我建议你完全放弃这个目标并尝试以其他方式去做。
DirectDraw是在屏幕上显示内容的一种方式,并且使用GDI完成具有区域(通过所谓的“透明键颜色”作为掩码创建的区域)的表单。正如我所看到的那样(并希望以其他方式证明) - 无论如何你都无法将这两个窗户结合起来。
您可能会在不同的Windows上获得不同的结果,具体取决于版本,使用的图形卡等。
另一方面,您可以破解那些您无法控制的表单并从中删除TransparencyKey属性吗?即使使用Win32 API?