"Elfo" wrote in [the comp.lang.tcl newsgroup]: Here you have a sample... it's a very simple application for paint. I used an image in a canvas widget... I'm not sure it's the best way to do it... but it works (I use 8.4a2 version of Tcl/Tk and Win2000). ---- global _paint set _paint(alto) 600 set _paint(ancho) 800 set _paint(color) black ### Buttons frame .barra pack .lienzo.c -fill both pack .lienzo -fill both -side right create photo _paint(capa1) -width $_paint(ancho) -height $_paint(alto) -palette 256/256/256] -anchor nw _paint(fondo) put {white} -to 0 0 $_paint(ancho) $_paint(alto) bind .lienzo.c <1> "Paint %x %y" bind .lienzo.c "Paint %x %y" proc Paint {x y} { global _paint if {$x >= 0 && $y >= 0} { _paint(fondo) put $_paint(color) -to $x $y [expr $x + $_paint(grosorx)] [expr $y + $_paint(grosory)] } } proc ChangeColor {} { global _paint set aux $_paint(color) set _paint(color) [tk_chooseColor] if {$_paint(color) != ""} { .barra.bcolor configure -bg $_paint(color) } else { set _paint(color) $aux } } ---- if 0 { Sorry about the spanish words in my code... Good luck!! Asier Burgoa González asier@eniac.es Éniac, Sistemas Informáticos S.A. LOGROÑO (La Rioja) SPAIN +34 941 28 28 28 [HJG] It looks like the definition of '''.lienzo''' is missing... } ---- [Category Graphics] - [Arts and crafts of Tcl-Tk programming]