doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011
-
22 déc. 2008 à 21:56
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 2010
-
28 déc. 2008 à 05:03
Bonsoir,
Je me suis mis au DCX il n'y as pas longtemps et je rencontre un problème avec une listview.
En effet lorsque j'ouvre le dialog (code source ci dessous) la listview n'apparais pas (son emplacement est vide comme si je ne l'avais pas créer), de plus les titres de colonne (titre de chanson, durée, etc etc) n'apparaissent uniquement lorsque je passe la souris au dessus, la list en dessous (les cellules ou sont normallement affiché les informations) n'apparais uniquement lorsque je redimensionne les titres ou le dialog ( allez savoir pourquoi...).
J'en appel à des scripteur confirmé et connaissant le DCX pour m'aider a résoudre ce problème et aussi pour me dire si jusque là mon code est bon. Je vous poste le code source si dessous. Merci d'avance.
alias mp3s dialog -m mp3players mp3players
alias call_backmp3s {
if $2 == sclick {
if $3 == 11 {
xdialog -x $1
}
if $3 == 5 {
set %musique.lecteur $sfile(C:\,Choisie ta musique) | set %zik.ok on
}
if $3 == 6 {
if (%zik.ok == on) {
set %lecteur on
.splay -p %musique.lecteur
echo -a 2;D2;ébut de la lecture de $nopath(%musique.lecteur)
}
else echo -a 2;3;4ERREUR2; Tu n'as pas mis de musique dans la liste , ou la musique est déjà en lecture
}
}
}
P.S. : Le code n'est pas terminé, je me suis arrété lorsque j'ai vu ce problème.
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 23 déc. 2008 à 01:21
La seul solution que j'ai trouvé c'est de redessiné le control des que tu resize, donc des qu'il y a nimporte quel action sur ta listview, redessine le control (xdialog -j $dname id_listview) il s'agit surement d'un bug, parce qu'il n'est spécifié nul part que l'on doit faire cela (parfois il est dis clairement qu'il faut le faire).
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 23 déc. 2008 à 18:45
Je viens d'essayer et ça me renvoie une erreur.
J'ai mis ça dans l'alias callback :
if $3 == 1 {
xdialog -j 1 $dname
}
ça me renvois l'erreur suivante.
D_ERROR /xdialog (Unknown dialog "1": see Mark command)
J'ai donc inverser $dname et 1 (l'id de la listview) et celà m'as renvoyé la même erreur.
Je l'est ensuite mis dans l'alias creadialmp3s mais la boite de dialog est resté vide...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 23 déc. 2008 à 18:51
$dname est utilise dans les event on dialog, ça viens de mirc et non de dcx, je l'est mis ds mon bout de code en tant que référence, ce que j'ai donné est juste, il suffit juste de remplacé avec le nom du dialog et l'id
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 23 déc. 2008 à 19:00
Ok je comprends je viens de modifier et la listview s'affiche entierement mais uniquement si je passe la souris au dessus. plus besoin de redimensionnement (c'est déjà ça lol). N'y as-t-il pas moyen d'executer la commande dans l'init?
J'ai essayé de le mettre dans le on init sa ne m'affiche rien, idem si je met if $2 == init dans l'alias callback
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 23 déc. 2008 à 19:49
Salut,
ca fait 1h30 que je cherche une solution, je viens donc de voir vos derniers messages seulement maintenant.
En effet j'ai aussi trouvé le moyen d'afficher le contrôle en passant la souris dessus, ainsi qu'en redimentionnant la fenêtre (je sais pas si tu as essayé, mais lors d'un resize, cette fichue listview redisparait).
J'ai utilisé ceci :if ((($2 mouseenter) && ($3 1)) || ($2 == denter) || ($1 == endmove)) xdialog -j $1 1
J'ai vraiment cherché de fond en comble, je ne vois pas de solution...
Si tu crées une dialogbox uniquement avec la listview, ça ne pose apparament aucun problème, si tu créés la listview en dernier, elle s'affiche correctement mais impossible d'agir dessus.
J'ai aussi, comme wims, utilisé les timers, mais sans succès. j'ai modifié les propriétés de la listview, j'ai même essayé de rajouter des propriétés en C (ahah, quand on est désespéré...)
Enfin bon, il y a sans doute en moyen en bidouillant, mais personnellement, j'ai abandonné là.
La fonction callback n'apprécie pas un "xdialog -j $1 1" répétitif (sans condition), tu peux donc toujours essayer de regrouper au maximum d'événement (mouseenter, focus, sizing, etc etc) et d'y rattacher cette commande pour que la listview s'affiche le plus possible.
Il est moche, ce beug.
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 23 déc. 2008 à 20:17
Bon je viens d'essayer le timer et sa marche bien, sa m'affiche la listview et tout. Le temps de latence ce voit a peine. Merci beaucoup Wims.
@uaip non je n'ai pas été jusque là lol. Par contre j'ai le même problème dès que je redimensionne le dialog la listview disparrais (la méchante!).
Par contre n'y as t-il aucun moyen d'empécher le redimmensionnement du dialog et des cellules de la listview pour justement éviter la redisparition de la listview?
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 23 déc. 2008 à 20:23
même si on ouvre le dialog en dehors de mirc (dialog -md $dname $dname) et que l'on réduit celui ci dans la barre des tâche la listview disparrais ( je propose de renommer listview en casper :x)
/me sort
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 23 déc. 2008 à 20:27
Nan mais il y a tout simplement un gros beug. Je pense que ça va te prendre pas mal la tête. Sinon utilise plutôt mdx pour ça =P ou alors ne fais pas de listview pour le moment. Ou alors apprend le VB, c'est facile le VB.
Ou alors cours t'acheter une dinde pour demain. (ok, je sors avec toi...)
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 23 déc. 2008 à 20:27
@uaip oui c'étais bien l'option z qui permettais le redimmensionnement du dialog (j'avais oublié que je l'avais mis xD j'ai testé tellement de truc lol) par contre les cellule de la listview sont toujours redimmensionnable (bon ça ne la fait pas disparaitre chez moi dans ce cas ci mais c'est juste pour savoir ^^ )
doob666
Messages postés149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 janvier 2011 23 déc. 2008 à 20:29
oui on m'as déjà dit d'utiliser le mdx et je l'ai utiliser (en tout cas j'ai tenter) mais rien ne s'affichais dans la listview d'ou la proposition qu'on m'as faites d'utiliser dcx lol
J'arrive déjà pas à me mettre à fond dans le mirc alors le VB... ouille ouille ouille ^^
djul51
Messages postés44Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention17 avril 2009 28 déc. 2008 à 04:22
Salut,
j'ai pas lu dans le détail vos échanges, mais j'ai vu que tu parlais d'active doob666, et si jamais tu n'étais pas au courant, je voulais juste dire qu'il y a on *:active:*:{ } qui existe :]