IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

<<< IHM MFC: OPACITé >>>


Sujet :

MFC

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut <<< IHM MFC: OPACITé >>>
    Comment pouvons nous faire pour régler l'opacité d'un programme ?
    Enfin pour qu'il soit plus ou moin transparant !

    -----------------

    Et aussi existe il un outil Visual pour effectuer un détourage sur un IHM ?
    Pour obtenir un prog design et non rectangulaire !

    -----------------

    Existent-ils des sites dédiés au Interface Graphique MFC ?

    Merci de vos réponses ^^

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    A partir de Win2K seulement.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/layerwin.asp

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Ok, j'v voir ...
    Je vais essayer, mais si ya des exemples de sources qq part,
    n'hésitez pas !


  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    tu as des exemples dans l'articles indiqué .
    sinon sur codeguru :
    http://www.codeguru.com/Cpp/W-D/dislog/miscellaneous/article.php/c5019/

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Petit PB ?
    Salut !

    J'ai essayé de suivre les instructions des ressources "SetLayeredWindowAttributes" mais voila, quand je lance mon application, la fenetre reste toujours à 100% d'opacité/ transparance . Je suis sous XP.



    En-tete:
    Corps:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #define LWA_ALPHA		0x00000002
    typedef BOOL (WINAPI *SLWA_FUNC)(HWND hwnd,COLORREF crKey,BYTE bAlpha,DWORD dwFlags);
    Fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	// Récupération ddu handle de User32.dll, puis de l'adresse de
    	// la fonction SetLayeredWindowAttributes dans cette Dll.
    	SLWA_FUNC MySetLayeredWindowAttributes;
    	HMODULE hUser32 = GetModuleHandle("USER32.DLL");
     
    	MySetLayeredWindowAttributes = (SLWA_FUNC)GetProcAddress(hUser32,"SetLayeredWindowAttributes");
     
    	// Make this window 70% alpha
    	MySetLayeredWindowAttributes(m_hWnd, 0, (255 * 70) / 100, LWA_ALPHA);
    0 error. mais l'opacité 100% ?

    Merci de vos réponses.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    bonsoir ,tu as regardé le lien sur codeguru ?
    Note: pour un projet MFC pas besoin de windows.h :stdafx.h contient afxwin.h

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut UI
    Oui, j'ai regardé.
    D'ailleur je me suis aidé de cette ressource + celle de microsoft.

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut C'est résolu !
    C'est bon, j'ai résolu mon problème.
    Il suffisait d'intialiser les attributs de la fenêtre; donc de rajouter le code suivant juste avant ma procédure de transparence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        SetWindowLong(m_hWnd, GWL_EXSTYLE, WS_EX_LAYERED); // code à ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Récupération ddu handle de User32.dll, puis de l'adresse de 
       // la fonction SetLayeredWindowAttributes dans cette Dll. 
       SLWA_FUNC MySetLayeredWindowAttributes; 
       HMODULE hUser32 = GetModuleHandle("USER32.DLL"); 
     
       MySetLayeredWindowAttributes = (SLWA_FUNC)GetProcAddress(hUser32,"SetLayeredWindowAttributes"); 
     
       // Make this window 70% alpha 
       MySetLayeredWindowAttributes(m_hWnd, 0, (255 * 70) / 100, LWA_ALPHA);
    Merci pour vos réponse. :o

  9. #9
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut

    Pas besoin de GetProcAddress. C'est défini dans windows.h.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define WINVER  0x0500
    #include <windows.h>
    De plus c'est une fonction membre de CWnd
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfcwndsetlayeredwindowattributes.asp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Instanciation d'IHM depuis une console MFC
    Par ambroise_petitgenet dans le forum MFC
    Réponses: 1
    Dernier message: 22/01/2013, 17h49
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. [MFC][IHM] lignes "cliquables"
    Par r0d dans le forum MFC
    Réponses: 12
    Dernier message: 24/03/2005, 15h13
  4. Réponses: 3
    Dernier message: 14/03/2005, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo