Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" | |
| | Auteur | Message |
---|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" Sam 31 Mar 2012 - 11:58 | |
| Un petit "bug" dans la fonction, si on veut, ou un truc à savoir en tout cas si on ne parle pas de bug. Il ne faut pas toucher aux bordures pour que cela fonctionne. J'ai fais différents tests et quand on les mets en small ou en hide, 2 fenêtres ne peuvent plus être parentes par la fonction. - Code:
-
dim hnd0%, hnd10%, hnd20%, res%
hnd0% = handle(0)
scene2d 10 : top 10,20 : left 10,20 hnd10% = handle(10)
form 20 : top 20,20 : left 20,10 hnd20% = handle(20) : border_small 0
dll_on "LoadProgram.dll" res% = dll_call3("SetFormParent",hnd20%,hnd10%,0) dll_off
2D_Target_is 20 2D_line 20,20,60,20
end PS: En fait initialement, je pensais mettre un picture dans l'objet Scene2D mais j'avais oublié que l'on ne peut pas récupérer le handle d'un picture donc, je tricherais pour mes tests en mettant une form dans la scene2D dans laquelle je mettrais un picture. Plus qu'à tester après comment se comporte les sprites dans tout ça ...
Dernière édition par Jicehel le Sam 31 Mar 2012 - 12:16, édité 1 fois | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" Sam 31 Mar 2012 - 12:03 | |
| Pour tricher, la solution la plus simple que j'ai trouvé, c'est de faire la fenêtre plus grande. Démo (j'espère que l'exemple montrera bien ce que je veux dire, j'ai essayé de réfléchir à comment le voir facilement. D'abord en montrant la bordure puis en remplaçant la ligne 9 par la ligne 10, on ne voit plus qu'il y a une bordure - Code:
-
dim hnd0%, hnd10%, hnd20%, res%
hnd0% = handle(0)
scene2D 10 : top 10,20 : left 10,20 : width 10,300 : Height 10,300 hnd10% = handle(10)
Form 20 top 20,10 : left 20,10 : width 20,280 : Height 20,280 : ' Plus petit pour voir les ascenceurs ' top 20,-30 : left 20,-10: width 20,400 : Height 20,400 : ' Plus grand on ne les voit plus
hnd20% = handle(20)
dll_on "LoadProgram.dll" res% = dll_call3("SetFormParent",hnd20%,hnd10%,0) dll_off
Picture 30: Parent 30,20 : top 30,0 : left 30,0 : width 30,300 : Height 30,300
2D_Target_is 30 2D_line 0,20,100,20
end | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" Sam 31 Mar 2012 - 12:55 | |
| Je vois bien que les bords disparaissent, ce qui est normal vu les coordonnées et tailles que tu donnes.
Cependant, je ne vois pas l'intérêt de coller une form dans un scene2d. La form est opaque et tu caches complètement la scene2d - il faut mieux faire la form seulement, sans la scene2d.
Ou alors, je n'ai pas compris ce que tu veux faire. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" Sam 31 Mar 2012 - 13:32 | |
| A la base, je voulais tester la cohabitation des sprites sur une picture puisque trop peut de chose à ce jour sont possible sur la scene2D et que je ne vois pas comment le contourner à ce jour (Voir discussion que nous avons déjà eu à ce sujet dans les demandes d'améliorations). Je me demandais si ta fonction permettrait de le faire. Comme le picture n'a pas de handle, je suis obligé de passer par une fenêtre de support ... Après, je ne sais pas si quand on déplacera les spritesça s'affichera bien, ça fera l'objet du prochain test Mais la remarque pour la taille de la bordure, dans le premier post est plus générale. Si tu change la taille du bord de n'importe laquelle des fenêtres impliquées, tu ne peux plus les lier (elles restent indépendantes) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" Sam 31 Mar 2012 - 13:45 | |
| Je vois ce que tu veux dire. Je regarde cela ce soir. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" Sam 31 Mar 2012 - 18:24 | |
| Pour ton premier poste: il suffit de faire le BORDER_SMALL avant de prendre le handle des forms: - Code:
-
dim hnd0%, hnd10%, hnd20%, res%
border_small 0 hnd0% = handle(0)
scene2d 10 : top 10,20 : left 10,20 hnd10% = handle(10)
form 20 : top 20,20 : left 20,10 hnd20% = handle(20) : ' border_small 0
dll_on "LoadProgram.dll" res% = dll_call3("SetFormParent",hnd20%,hnd10%,0) dll_off
2D_Target_is 20 2D_line 20,20,60,20
end Mais je travaille sur la DLL pour la rendre plus souple - des nouvelles bientôt. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" Sam 31 Mar 2012 - 20:50 | |
| Bien vu sinon, c'est logique. Je n'avais pas pensé qu'il changeait le handle pour ce type de changement, mais ce n'est pas illogique. En tous cas, bien vu | |
| | | Contenu sponsorisé
| Sujet: Re: Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" | |
| |
| | | | Nouvelle fonction "SetFormParent" dans "LoadProgram.dll" | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |