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 :

WS-EX_LAYERED et CChildView


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Par défaut WS-EX_LAYERED et CChildView
    Dans une application C++ (non managé, mais je pense que ca ne change rien ici) MFC de type SDI , faire de la MainFrame une fenêtre transparente gràce à WS_EX_LAYERED, je sais faire (en virant l'archi doc/vue et la ChildView bien sur)...

    Mais je n'arrive pas par contre à garder la ChildView par dessus la MainFrame (comme autogénéré par Visual si on décoche l'arch Doc/vue) et à la rendre transparente (j'ai intercepté et interdit le WS_ERASEBKGND bien sur)...

    SetLayeredWindowAttributes me renvoie 0 (erreur, donc) et GetLastError me renvoie 0 (pas d'erreur)....

    Que dire d'autre? J'ai essayé de mettre l'attribut WS_EX_LAYERED tant à la création de la fenêtre (PreCreateWindow) que par un ModifyStyleEx ou un SetWindowLong dans le OnPaint...

    Je séche... Une idée serait la bienvenue...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Par défaut pa potible
    La réponse est simple.... Ce n'est pas possible. les types WS_EX_LAYERED et WS_CHILD sont incompatibles. C'est pour celà que la quasi totalité des exemples fournis par Billou tournent sur des applications Dialog-based qui utilisent le type WS_POPUP, et non WS_CHILD....

    Tout ça résooud pas mon pb initiale, que j'expose différemment....

    Je veux plaquer une fenêtre transparente sur tout mon écran, et la rafraichir avec UpdateLayeredWindow... C'est lent... Idée: découper l'écran en plusieurs fenêtres, et ne rafraichir que celles qui ont changés... Par exemple 5*4 fenêtres... C'est pour celà que je voulais des childs... Je vais essayer de créer 25 fenêtres WS_POPUP...

    Quelqu'un a déjà fait ça?

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