So you want the refresh method? Robby
On Wednesday, October 27, 2010, 김태윤 <kty1...@gmail.com> wrote: > doesn't working properly means I can't update my canvas by this methodcould > somebody tell me how to update canvas with changed image? (when some function > is evaluated) > > 2010/10/27 <kty1...@gmail.com> > hello~ > I am making map editor > one of the editor's ability is select tile image from chip-set(kind of town > map tile) image > and circle the selected tile > I made a following code but I don't think that this is good way to update > image and it doesn't working properly as well. > could somebody give me an little advice? > > #lang scheme/gui > (require 2htdp/image) > (define pic dc<%>) > (define chipset (make-object bitmap% "town.png" 'png)) > (define f (instantiate frame% ("map editor"))) > (define mcan% > (class canvas% > > (override on-event on-paint) > (define on-paint > (λ () (send (send this get-dc) draw-bitmap chipset 0 0))) > (define on-event (λ (e) > (send msg set-label > (string-append (number->string (floor (/ (send e > get-x) 16))) " " > (number->string (floor (/ (send e > get-y) 16))))) > (when (send e get-left-down) > (begin (set! chipset (place-image (circle 8 > "outline" "orange") > (send e get-x) > (send e get-y) > chipset)) > (send f refresh)));it doesn't seems to good > way > )) > (super-instantiate ()))) > > (define mcan (new mcan% (parent f) (min-width (image-width chipset)) > (min-height (image-height chipset)))) > > (define msg (instantiate message% ("nothing so far" f))) > (define tile-width-field (instantiate text-field% ("width") (init-value "16") > (parent f) (stretchable-width #f))) > > (define tile-height-field (instantiate text-field% ("height") (init-value > "16") (parent f) (stretchable-width #f))) > > (send f show #t) > > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users