Récupérer le handle d'un contrôle qui n'a pas de fonction ".hwnd" !!!!!!!!!!!!!!

Blousé - 28 août 2001 à 10:56
 Blousé - 29 août 2001 à 16:13
Pour pouvoir donner le look office 2000 (fait à partir d'une des sources du site...) à mes contrôles, j'utilise forms 2.0, mais le prob, c que pour le leur donner, il me faut le hwnd du contrôle, qui lui ne dipose pas du ".hwnd" :

comme celui-ci par exemple -> listbox1.hwnd , ".hwnd" n'existe pas !!!

Comment le récupérer

2 réponses

Hello
Il faut tout d'abord savoir que la valeur hWnd représente l’emplacement mémoire d’une class cWnd. Cette classe est utilisée par toutes les fenêtres, les contrôles ActiveX n’étant pas WindowLess.

Les Objects créer à partir de Form 2 ne possèdent pas de hWnd tous simplement car ce sont des contrôles de type WindowLess. Lors de la création de telle composant, le hWnd du parent et utilisé.

Pour mieux comprendre, on peut utilisé MS Spy++ fourni avec visual studio ( je sais pas si c’est dans toutes les versions). Menu ‘Search’ – ‘Find Window’
Et il y a plus qu’à déplacer la cible sur l’objet voulu pour obtenir son hWnd courant. (Et bien plus d’info)

Personnellement je ne vois pas trop de solution avec Form 2
Mais pour certain composant, on peut utilisé les fonctions API suivantes

FindWindowEx
WindowFromPoint
GetWindow
0
Merde c plustôt chiant, au départ je voulais essayé de faire mon prog en cpp, mais g encor bcoup trops de mal, donc je suis revenu sur du vb, et evidemment, les possibilté sont beaucoup plus réduite côté graphismes personnalisable, dommage !

Merci qd mm mWaAtr
0
Rejoignez-nous