papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: GetAncestor de la USER32.DLL Sam 15 Juil 2017 - 2:48 | |
| Petite démonstration de la fonction GetAncestor de la USER32.DLL Cliquez sur les boutons pour voir s'afficher leur ancêtre. - Code:
-
rem ============================================================================ rem GetAncestor de user32.dll rem ============================================================================ rem Retourne le HANDLE de l’ancêtre de l’objet spécifié rem La fonction nécessite 2 parametres : rem * Le handle de l’objet dont on cherche l’ancêtre rem Si ce paramètre est celui du BUREAU (DESKTOP), la fonction retourne 0 rem * Un flag ( = 2) pour spécifier le parent rem ============================================================================ rem L’appel est : rem _________________________________________________ rem | | rem | dll_call2("GetAncestor", handle_de_l_objet , 2) | rem |_________________________________________________|
rem ============================================================================ label clic dim ret%,hform0%,hform10%,hbouton11%,hbouton20%,hbouton40%,hlist30% ,hlist50%
caption 0,"FORM 0" form 10 : top 10,150 : left 10,800 : caption 10,"FORM 10" button 11 : parent 11,10 : top 11,20 : left 11,50 : caption 11,"Bouton 11" : on_click 11,clic button 20 : top 20,20 : left 20,50 : caption 20,"Bouton 20" : on_click 20,clic list 30 : top 30,20 : left 30,150 : width 30,250 : height 30,150 : font_name 30,"courier" button 40 : top 40,20 : left 40,500 : caption 40,"Bouton 40" : on_click 40,clic list 50 : top 50,200 : left 50,150 : width 50,250 : height 50,150 : font_name 50,"courier" item_add 30,"LIST 30" : item_add 30,"" item_add 50,"LIST 50" : item_add 50,"" hform0% = handle(0) : item_add 30," Handle FORM 00 : " + str$(hform0%) hform10% = handle(10) : item_add 30," Handle FORM 10 : " + str$(hform10%) hbouton11% = handle(11) : item_add 30," Handle BUTTON 11 : " + str$(hbouton11%) hbouton20% = handle(20) : item_add 30," Handle BUTTON 20 : " + str$(hbouton20%) hbouton40% = handle(40) : item_add 30," Handle BUTTON 40 : " + str$(hbouton40%) hlist30% = handle(30) : item_add 30," Handle LIST 30 : " + str$(hlist30%) hlist50% = handle(50) : item_add 30," Handle LIST 50 : " + str$(hlist50%)
dll_on "user32.dll"
end rem ============================================================================ Clic: select number_click case 11 : item_add 50," Parent Bouton 11 : " + str$(parent(11)) item_add 50," Ancêtre Bouton 11 : " + str$(dll_call2("GetAncestor",hbouton11%,2)) case 20 : item_add 50," Parent Bouton 20 : " + str$(parent(20)) item_add 50," Ancêtre Bouton 20 : " + str$(dll_call2("GetAncestor",hbouton20%,2)) case 40 : item_add 50," Parent Bouton 40 : " + str$(parent(40)) item_add 50," Ancêtre Bouton 40 : " + str$(dll_call2("GetAncestor",hbouton40%,2)) end_select return rem ============================================================================
Dernière édition par papydall le Sam 15 Juil 2017 - 18:22, édité 2 fois (Raison : Correction du verbe voir et du nom ancêtre pour faire plaisir à JL35) | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 15 Juil 2017 - 8:45 | |
| Cela mériterait quelques lignes d' explication... | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: GetAncestor de la USER32.DLL Sam 15 Juil 2017 - 10:50 | |
| P'têt' ben qu'oui ! Je clique sur un bouton, n'importe lequel (ici le 11): Papydall, euh... - Citation :
- ... pour voire s'afficher leur encêtre.
| |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: GetAncestor de la USER32.DLL Sam 15 Juil 2017 - 13:23 | |
| En cliquant successivement sur les boutons 11, 40, 20 on obtient : Le PARENT de l’objet 11 (bouton qui appartient au FORM 10) est 10 Son ancêtre (ANCESTOR) donne le HANDLE de son PARENT, c-à-d ici le handle du FORM 10. Le PARENT de l’objet 40 (bouton qui appartient implicitement au FORM 0) est 0 Son ancêtre (ANCESTOR) donne le HANDLE de son parent. @JL35 Ligne 44 - Code:
-
item_add 50," Ancêtre Bouton 11 : " + str$(dll_call2("GetAncestor",hbouton11%,2))
Il n’y a rien d’incorrect là-dedans … à moins que USER32.DLL ne t’aime pas trop ! On peut tout simplement se passer de tout ça et faire : - Code:
-
message handle(parent(11))
Mais pourquoi faire simple quand on peut faire compliqué ? | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 15 Juil 2017 - 14:52 | |
| Papydall méfies toi ! tu vas finir par obtenir la double nationalité. | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: GetAncestor de la USER32.DLL Sam 15 Juil 2017 - 16:43 | |
| Papydall, 1) mea culpa, je ne suis pas sous la bonne version de Editor, la mienne ne connaît pas parent() 2) tu as corrigé une faute, mais pas l'autre, et donc je répète ( ) Citation : ... pour voire s'afficher leur ancêtre. | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: GetAncestor de la USER32.DLL Sam 15 Juil 2017 - 18:29 | |
|
Dernière édition par papydall le Sam 15 Juil 2017 - 18:38, édité 1 fois | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: GetAncestor de la USER32.DLL Sam 15 Juil 2017 - 18:33 | |
| - Yannick a écrit:
- Papydall méfies toi ! tu vas finir par obtenir la double nationalité.
Dans ma tête je fais partie de toutes les nationalités du monde. - JL35 a écrit:
- Papydall,
1) mea culpa, je ne suis pas sous la bonne version de Editor, la mienne ne connaît pas parent()
2) tu as corrigé une faute, mais pas l'autre, et donc je répète ( ) Citation : ... pour voire s'afficher leur ancêtre.
Il me faudra deux messages, VOIRE trois, pour corriger une phrase et ne pas confondre le verbe VOIR avec la conjonction VOIRE. Je te demande, à toi, voire à d’autres d’aller à mon premier message pour voir que j’ai corrigé ma phrase. - Citation :
- je ne suis pas sous la bonne version de Editor, la mienne ne connaît pas parent()
Etait-elle bâtarde ? | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: GetAncestor de la USER32.DLL Sam 15 Juil 2017 - 19:33 | |
| Peut-être pas, mais en tout cas elle est orpheline !
Ceci dit, je vois que tu ouvres la voie à une nouvelle science: retracer l'arbre généalogique de tous les enfants Panoramic ! | |
|
Contenu sponsorisé
| Sujet: Re: GetAncestor de la USER32.DLL | |
| |
|