Question

J'essaie de créer une application qui rend transparente une fenêtre (externe à l'application) lorsqu'elle perd le focus. La plupart des choses (obtenir un identifiant de fenêtre, définir une transparence, etc.) seraient faciles, sauf une chose: comment puis-je accrocher des fenêtres?

Était-ce utile?

La solution

Vous pouvez utiliser interop. Utilisez la fonction SendMessage () pour envoyer votre fenêtre. un message personnalisé. La fenêtre peut ensuite appeler SetLayeredWindowAttributes () une fois. vous recevez ce message pour changer sa transparence.

L’autre chose, c’est que vous devriez vraiment pouvoir faire que la fenêtre se transforme en transparence quand elle perd le focus en écoutant WM_KILLFOCUS

EDIT:

Verrouillez les événements Désactiver et Activé en C #.

    private void Form1_Deactivate( object sender, EventArgs e )
    {
      this.Opacity = 0.5 ;
    }

    private void Form1_Activated( object sender, EventArgs e )
    {
      this.Opacity = 1.0 ;
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top