salut a tous.
juste une question sur le fonctionnement des choses (juste paske j'aime a pousser les choses)....
qu'est ce qu'un handle? est ce un pointeur, ou est ce un indice de tableau (l'indice du pointeur ds une table systeme des handles)......ca va peut-etre paraitre stupide comme question, mais bon....c'est juste pr connaitre un peu les choses en profondeur, moi je trouve ca interessant....c'est tt
Un handle est un numéro attribué par le système à chacun des composants de ton appli, et ce à chaque fois que lance ton appli.
Ce n'est pas un pointeur.
HWND n'est pas un type a part comme char, int et double le sont.
C'est une macro, c'est a dire une composition de plusieurs types.
Ce qu'on appelle le HANDLE, ce n'est ni plus ni moins que l'identifiant de chacun de tes composants(bouton, dialog, checkbox,...).
C'est une valeur qui permet de les identifier et qui est attribué par le systeme au lancement du programme.
Un HANDLE est unique!
A titre de comparaison, ici sur cppfrance on a chacun un pseudo pour etre identifier. Et bien les composants d'un programme ont aussi chacun leurs HANDLE pour etre identifer.
Je ne suis pas tout a fait d'accord avec les definitions proposees...
Un handle est effectivement le moyen unique d'identifier un objet quelconque, mais c'est bien un pointeur sur une zone de donnee. D'ailleurs HANDLE c'est un " typedef void * " car c'est un pointeur qui doit "brancher" sur une structure de donnees qui n'est pas definie. Pas definie pourquoi??? Car elle depend tout simplement de l'objet manipule...Ensuite par rapport a l'objet manipule, l'api qui prendra en parametre cet HANDLE re cast ce pointeur dans le format de donnee de l'objet.
Voila j'espere avoir ete assez clair dans mon explication
DevGizmo> Il ne faut pas mélanger la macro HANDLE et le mot handle pour désigner par exemple l'identifiant d'un controle qui en fait correspond a la macro HWND!