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 : 2253
Catégorie(s) : Graphique
Langages dispo pour ce code :
- C, C++



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

{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...

{Visual Basic, VB6, VB.NET, VB 2005} CAPTEUR DE HANDLE, DE TITRE, DE CLASS, DE POSITION DE TAILLE ET DE PATH
Ayant eu besoin de trouver des Handles pour mon programme de carnet d'adresses: http://www.vbfrance....

{Delphi} GESTION DE CASES À COCHER PERSONNALISÉES DANS UN STRINGGRID
Ce code permet : 1. D'intégrer des cases à cocher personnalisées dans un composant StringGrid 2. D...

{JAVA / J2EE} EXEMPLE DE JSPLITPANE
C'est un petit exemple qui peut vous aider à construire des SplitPane (un exemple simple mais trés ...