UserControl & hWnd ????

Résolu
SkyRocKo Messages postés 174 Date d'inscription samedi 10 mai 2003 Statut Membre Dernière intervention 18 février 2006 - 8 déc. 2005 à 22:11
SkyRocKo Messages postés 174 Date d'inscription samedi 10 mai 2003 Statut Membre Dernière intervention 18 février 2006 - 10 déc. 2005 à 18:42
Hello,

Je suis en train de créer un contrôle ActiveX mais je bloque sur certains points :

Premièrement, je voulais mettre une propriété de type 'boolean' qui permet de définir si le contrôle se place au 1er plan ou pas. J'ai donc utilisé l'API 'SetWindowPos' mais la, 1er problème, ça ne fonctionne pas alors que le même code fonctionne avec une Form classique !

Deuxièmement, je voulais appliquer un degré de transparence au contrôle (celui-ci contient une image) en utilisant l'API 'SetLayeredWindowAttributes' et là, même problème alors que ça fonctionne ac une Form classique.

Troisièmement, j'ai voulu détacher l'OCX de la feuille mère grâce à l'API 'SetParent' : idem que précédemment !!!

Un vrai cauchemar Je me suis demandé si ça ne provenait pas du hWnd du UserControl, et en effet, c'est fort probable car il est constamment égal à 0.
Etrange, non ???

Une aide serait la bienvenue !!!

Merci d'avance

SkyRocKo

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 déc. 2005 à 14:09
salut,


pour test, met une propriété Get hWnd dans le contrôle, retournant UserControl.hWnd, et fait ton code à partir de la Form.


si le résultat te convient, c'est que c'est faisable et juste que tu
t'y es mal pris. (genre ... tu as pu placer tes fonction à des moments
ou le Contrôle n'est pas encore... instancié, donc sont executées en
conception)


PCPT [AFCK]
3
SkyRocKo Messages postés 174 Date d'inscription samedi 10 mai 2003 Statut Membre Dernière intervention 18 février 2006
10 déc. 2005 à 18:42
Salut,

Merci pour vos réponses

J'ai fait ce que pcpt m'a dit et ça ne marchait pas. J'ai donc essayé la même chose sur un autre contrôle ActiveX à moi : "AnimatedGIF", et là ça marchait impec.
J'ai simplement fait un nouvel OCX en faisant un copier-coller, et là ça marchait impec
Bizarre!

Oui ce n'est pas courant mais je voulais faire un ActiveX du genre celui qu'il y a dans "FlashGET" et "Net Transport" (qui indique l'évolution des téléchargements).

Merci encore

++

SkyRocKo
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 déc. 2005 à 22:59
Salut
Quel Handle lui as-tu fourni ?
--> UserControl.ContainerHwnd
Si tu veux qu'on t'aide, va falloir copier les quelques lignes où tu prépare et lance tes requètes API


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 déc. 2005 à 08:58
Ouch, détacher un usercontrol de sa feuille mère... c'est pas vraiment l'utilisation classique d'un usercontrol cà !



Idem pour le setwindowpos !



Un usercontrol, ce n'est pas une form, il faut pas confondre les deux quand même !

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
Rejoignez-nous