Les Snippets

Connexion

fenêtre transparente

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 26/07/2011 15:51:05 et initié par NitRic [Liste]
Vue : 4492
Catégorie(s) : Graphique
Langage sélectionné : C
Langages dispo pour ce code :
- C, C++
- Voir tous les langages pour ce code snippet



Langage : C , C++
Date ajout : 26/07/2011
Posté par NitRic [Liste]

#include <windows.h>

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
 // ...

 while ((retval = GetMessage(&msg, NULL, 0, 0)) != FALSE)
 {
  if (retval < 0)
   break; // erreur

  TranslateMessage(&msg);
  DispatchMessage(&msg);
 }

 return (int)msg.wParam;
}

LRESULT WINAPI WindowProcedure(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
 switch (uMsg)
 {
 case WM_DESTROY:
  PostQuitMessage(0);
  break;

 case WM_MOVING:
  {
   // rend la fenêtre transparente lors du déplacement
   LONG_PTR exstyles = GetWindowLongPtr(g_WindowHandle, GWL_EXSTYLE);
   if (!(exstyles & WS_EX_LAYERED))
    SetWindowLongPtr(g_WindowHandle, GWL_EXSTYLE, exstyles | WS_EX_LAYERED);

   SetLayeredWindowAttributes(g_WindowHandle, 0, 175, LWA_ALPHA);
  }
  break;

 case WM_EXITSIZEMOVE:
  {
   // rend la fenêtre opaque après déplacement
   LONG_PTR exstyles = GetWindowLongPtr(g_WindowHandle, GWL_EXSTYLE);
   if ((exstyles & WS_EX_LAYERED))
    SetWindowLongPtr(g_WindowHandle, GWL_EXSTYLE, exstyles & ~WS_EX_LAYERED);
  }
  break;

 default:
  return DefWindowProc(hwnd, uMsg, wParam, lParam);
 }

 return 0;
}



Snippets en rapport avec : Fenêtre, Transparente



Codes sources en rapport avec : Fenêtre, Transparente

{Assembleur} DIMENSIONNER SES FENÊTRES EN POURCENTAGE DE L'ÉCRAN
Le programme montre deux fenêtres identiques en 800*600. L'une est construite en % de l'écran et ...

{Visual Basic, VB6, VB.NET, VB 2005} REPOSITIONNER UNE SÉLECTION DANS UNE FENÊTRE WORD
Quand on utilise une macro VBA qui fait une recherche dans un document par Selection.Find.Execute, W...

{PHP} FENÊTRE PSEUDO MODALE INCORPORÉE DANS UN SCRIPT PHP SIMPLIFIÉ AU MAXIMUM (SANS UTILISATION DE BIBLIOTHÈQUE JAVASCRIPT)
Classique affichage d'une fenêtre pseudo modale. Lorsque l'on clique sur un image vignette, la fenêt...

{Javascript / DHTML} BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES
La sélection d'une images dans une fenêtre est souvent effectuée via une fenêtre popup. L'inconvéni...

{Javascript / DHTML} DIALOGUE ENTRE FENÊTRES MÈRE ET FILLE
J'ai perdu beaucoup de temps à trouver sur le web les différents manières de dialoguer entre fenêtre...

{Delphi} LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING
Suite à une question sur le fofo (En gros, comment avoir une fenêtre firefox dont la taille maximum ...

{JAVA / J2EE} J(DE)COMPRESSION V4 BETA
C'est un programme qui fait plus ou moins la même chose que Winrar mais avec java. Sans faire de la...

{C# / C#.NET} THREADWORKER
Voici une classe C# (3.0) très fortement inspirée de la classe BackgroundWorker. Elle sert à effectu...

{C / C++ / C++.NET} SOUS-CLASSEMENT DE FENÊTRE D'UN AUTRE PROCESS PAR INJECTION DLL
Voici un code source montrant comment sous-classer une fenêtre appartenant à un autre process. La te...

{Visual Basic, VB6, VB.NET, VB 2005} FERMER UN PROGRAMME, UNE APPLICATION, UNE FENÊTRE... D'APRÈS UNE PARTIE DE SON NOM
Permet en quelques lignes de fermer un programme, une application, une fenêtre... en passant en para...