我正在尝试创建一个应用程序,使窗口(应用程序外部)在失去焦点时透明。大多数事情(获取窗口 id、设置透明等)都很容易,除了一件事 - 我如何挂钩窗口?
问问题
668 次
1 回答
1
您可以使用互操作。使用SendMessage()函数向您的窗口发送自定义消息。一旦您收到该消息以更改其透明度,该窗口就可以调用SetLayeredWindowAttributes() 。
另一件事是你真的应该能够通过监听WM_KILLFOCUS使窗口在失去焦点时变为透明
编辑:
锁定 C# 中的 Deactivate 和 Activated 事件。
私人无效Form1_Deactivate(对象发送者,EventArgs e) { this.Opacity = 0.5 ; } 私人无效Form1_Activated(对象发送者,EventArgs e) { this.Opacity = 1.0 ; }
于 2009-06-21T11:35:16.387 回答