Ajout de couleurs ou smileys dans l'édit-box par simple click

Contenu du snippet

Bonjour à tous, vous avez une femme? Elle ont cet avantage de vous posez de drôles de questions: -"Pourquoi ne pas avoir la possibilité, sur le script, de faire comme sur un java, cad de clicker et ça ajoute ce que l'on désire. (smiley, couleur..).
Alors donc vous vous y mettez, il n'y a pas le choix...
pour les graphismes, vous pouvez les charger sur http://alerion.nerim.net/addon/petiteaidecouleurs.htm
Modifié le 12/09... pour assuré une compatibilité avec mIRC vers<6.03
:o)
Et Quidni

Source / Exemple :


;***************************** Table
alias gesttexte { dialog -mdo gesttexte gesttexte }

dialog gesttexte {
  size 83 585 630 25
  title "Pour"
  icon v_schtroumph.ico
  button "t" 1,1 1 1 1,ok
  icon 30 , 0 1 18 18 , images\blanc0.bmp
  icon 45, 20 1 18 18 , images\gris15.bmp 
  icon 44, 40 1 18 18 , images\grisfonce14.bmp 
  icon 31 , 60 1 18 18 , images\noir1.bmp
  icon 38 , 80 1 18 18 , images\jaune8.bmp 
  icon 39 , 100 1 18 18 , images\vertclair9.bmp 
  icon 33,  120 1 18 18 , images\vertfonce3.bmp 
  icon 40, 140 1 18 18 , images\cyanfonce10.bmp 
  icon 32 , 160 1 18 18 , images\bleufonce2.bmp 
  icon 42, 180 1 18 18 , images\bleu12.bmp 
  icon 41, 200 1 18 18 , images\cyan11.bmp 
  icon 43, 220 1 18 18 , images\violet13.bmp 
  icon 36, 240 1 18 18 , images\violetfonce6.bmp 
  icon 35, 260 1 18 18 , images\marron5.bmp 
  icon 34, 280 1 18 18 , images\rouge4.bmp 
  icon 37, 300 1 18 18 , images\orange7.bmp 

  icon 70, 325 1 18 18 , images\gras.bmp 
  icon 71, 345 1 18 18 , images\soul.bmp 

  icon 72, 370 1 18 18 , images\01.bmp 
  icon 73, 390 1 18 18 , images\02.bmp 
  icon 74, 410 1 18 18 , images\04.bmp 
  icon 75, 430 1 18 18 , images\03.bmp 
  icon 76, 450 1 18 18 , images\05.bmp 
  icon 77, 470 1 18 18 , images\07.bmp 
  icon 78, 500 1 18 18 , images\06.bmp 
  icon 79, 520 1 18 18 , images\09.bmp 
  icon 80, 540 1 18 18 , images\08.bmp 
  icon 81, 560 1 18 18 , images\10.bmp 

  icon 82,585 1 18 18, images\monter.bmp
  icon 83,605 1 18 18, images\descendre.bmp
}

;***************************** Init
on 1:dialog:gesttexte:init:*: {
  set -u6 %xmain $window(-2).x + 100
  set -u6 %ymain $window(-2).y + 42
  dialog -s gesttexte %xmain %ymain 630 25
  /did -bv gesttexte 1
}

;***************************** Click

on 1:dialog:gesttexte:sclick:*: {
  if ($did == 10) {
    set %quiaction $replace($snick($active),$chr(44),$chr(32))
    set %nbv 1
    set %voicer +
    while (%nbv <= $snick($active,0)) {
      set %voicer %voicer $+ v
      inc %nbv
    }
    /mode $active %voicer %quiaction
  }

  if ($did == 11) {
    set %quiaction $replace($snick($active),$chr(44),$chr(32))
    set %nbv 1
    set %voicer +
    while (%nbv <= $snick($active,0)) {
      set %voicer %voicer $+ o
      inc %nbv
    }

    /mode $active %voicer %quiaction
  }
  if ($did == 12) {
    set %quiaction $replace($snick($active),$chr(44),$chr(32))
    set %nbv 1
    set %voicer -
    while (%nbv <= $snick($active,0)) {
      set %voicer %voicer $+ v
      inc %nbv
    }
    /mode $active %voicer %quiaction
  }

  if ($did == 13) {
    set %quiaction $replace($snick($active),$chr(44),$chr(32))
    set %nbv 1
    set %voicer -
    while (%nbv <= $snick($active,0)) {
      set %voicer %voicer $+ o
      inc %nbv
    }

    /mode $active %voicer %quiaction
  }

  if ($did == 14) {  /kick $active $snick($active,1) %kickdef }
  if ($did == 15) { 
    /kick $active $snick($active,1) faut bien...
    /ban $active $snick($active,1) 2
    /kick $active $snick($active,1) sisi il le faut
    /ban $active $snick($active,1) 3
    /ban $active $snick($active,1) 5
  }
  if ($did == 16) {   /msg chanserv op $active $me   }

  if (($did > 29) && ($did < 46)) {
    set -u5 %colorline $did - 30
    /editbox -a $editbox($active) $+  $+ %colorline

  }

  if (($did > 49) && ($did < 66)) {
    set -u6 %couleursel $did + 1
    if (%couleursel > 65) /set  -u6 %couleursel 50
    did -h gesttexte $did
    did -v gesttexte %couleursel
    set %couleurtexte %couleursel - 50
  }

  if ($did == 70) {
    /editbox -a $editbox($active) $+ 
  }
  if ($did == 71) {
    /editbox -a $editbox($active) $+ 
  }
  if ($did == 72) {
    /editbox -a $editbox($active)  :)

  }
  if ($did == 73) {
    /editbox -a $editbox($active)  :(
  }
  if ($did == 74) {
    /editbox -a $editbox($active) :o)
  }
  if ($did == 75) {
    /editbox -a $editbox($active)  :o(
  }
  if ($did == 76) {
    /editbox -a $editbox($active)  ;-) 

  }
  if ($did == 77) {
    /editbox -a $editbox($active) :-\?

  }
  if ($did == 78) {
    /editbox -a $editbox($active) :-))

  }
  if ($did == 79) {
    /editbox -a $editbox($active) :-((

  }
  if ($did == 80) {
    /editbox -a $editbox($active) :-o

  }
  if ($did == 81) {
    /editbox -a $editbox($active) :oÞ
  }
  if ($did == 82) {
    set -u6 %xmain $window(-2).x + 100
    set -u6 %ymain $window(-2).y + 42
    dialog -s gesttexte %xmain %ymain 630 25
  }

  if ($did == 83) {
    set -u6 %xmain $window(-2).x + $window(-2).w
    set -u6 %ymain $window(-2).y + $window(-2).h
    dec %xmain 635
    dialog -s gesttexte %xmain %ymain 630 25
  }

}
;***************************** Evénements
on 1:active:#: {
  dialog -t gesttexte sur le chan $active %topicof [ $+ [ $active ] ]
  ;  /did -ra gesttexte 20 $snick($active)
}
on 1:active:?: {
  dialog -t gesttexte En PV avec $active
}
on 1:start:  { .gesttexte }
on 1:topic:*:{ 
  set %topicof $+ $chan $1-
  if $chan == $active /dialog -t gesttexte sur le chan $chan %topicof [ $+ [ $active ] ]
}
raw 332:*: {   
  set %topicof $+ $2 $3-
  if $2 == $active /dialog -t gesttexte sur le chan $2 %topicof [ $+ [ $active ] ]
}

;***************************** Menus
menu menubar {
  -
  Smileys:/gesttexte
}

Conclusion :


C'est un petit dialogue, avec des icons qui inserre là où nous écrivons les choses, ce qui a été "clické"
et si.... quelqu'un sait comment remettre le focus dans edit-box après le click dans le dialog, cela m'aiderait bien, merci :o)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.