Pb de déplacement

Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 - 13 juil. 2004 à 11:59
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 16 juil. 2004 à 11:49
Voila, je voudrais pouvoir mettre une feuille transparente(enfin un peux dans une autre)
Pour ca j'ai trouver, il suffit d'utiliser l'api SetParent suivi de SetLayeredWindowAttributes. et pas dans le sens contraire. (sinon, lombre se fait sur une feuille qui a deja changer de conteneur et le resultat est catastrophique. Mon probleme est que quaad j'ai fait cette petiter manip, la feuille est bien transparente et a bien changer de conteneur, mais je peux plus la déplacer.. si quelq'un sait pourquoi, ou a une solution.
Je sais que je peux la déplacer avant de lui changer son conteneur mais je voudrais aussi pouvoir la déplacer après cette opération.

3 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
14 juil. 2004 à 10:47
Salut

une feuille n'est déplaçable (par l'utilisateur) uniquement dans une feuille MDI. sinon tu dois pouvoir la dépacer par code : Top et Left ou encore l'api SetWindowPos.

si ca ne marche toujours pas tu peux mettre ton SetWindowPos entre SetParent et SetLayeredWindowAttributes...

voilà

ShareVB
0
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
15 juil. 2004 à 10:14
Mais la déplacer entre setparent et SetLayeredwindowattributes, je sais faire, mais par code cela ne marche plus après, et moi je voudrais le faire après justement !
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
16 juil. 2004 à 11:49
salut

déjà sur MSDN il est dit qu'une fenetre fille ne peut pas être Layered...(surement une cause du prb)

ensuite, bien que ca marche, les fenetre de ce style utilisent un DC en mémoire pour la transparence : cela est surement la cause du prb...

enfin, je pense qu'il y a d'autre solution qu'une fenetre dans une autre pour de la transparence : on crée une région dans laquelle on supprime chaque pixel d'une couleur de fond et ensuite on applique la région au contrôle ou à la fenetre...

voilà

ShareVB
0
Rejoignez-nous