omg it works!!<br />thank you!<br />although I am satisfied with this method, <br />do you know the better way for it?<br /><br />, Richard Cleis &lt;rcleis@mac.com&gt; ۼ:<br />&gt; Insert the two lines below to see that what you want is possible, but I doubt such a quick hack is the right way to do it.<br />&gt; <br />&gt; <br />&gt; <br />&gt; rac<br />&gt; <br />&gt; <br />&gt; <br />&gt; On Oct 27, 2010, at 8:48 PM, kty1104@gmail.com wrote:<br />&gt; <br />&gt; <br />&gt; <br />&gt; &gt; hello<br />&gt; <br />&gt; &gt; I finally circle the bitmap where I point by mouse<br />&gt; <br />&gt; &gt; but there are several problem<br />&gt; <br />&gt; &gt; 1. the circle filled with white color that I can&#39;t see bitmap through the circle<br />&gt; <br />&gt; &gt; 2. the drawn circle didn&#39;t erased after I point another coordinates<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; could somebody give me an little advice?<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; my code looks messy and not neat but<br />&gt; <br />&gt; &gt; I paste the code for make it easier to understand<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; #lang scheme<br />&gt; <br />&gt; &gt; (require 2htdp/image<br />&gt; <br />&gt; &gt; racket/gui)<br />&gt; <br />&gt; &gt; (define chipset (make-object bitmap% &quot;town.png&quot; &#39;png))<br />&gt; <br />&gt; &gt; (define (check dc m)<br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; &nbsp;(send dc draw-bitmap chipset 0 0)<br />&gt; <br />&gt; &nbsp;(send dc set-brush &quot;blue&quot; &#39;transparent)<br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; <br />&gt; &gt; (define x (send m get-x))<br />&gt; <br />&gt; &gt; (define y (send m get-y))<br />&gt; <br />&gt; &gt; (send dc draw-ellipse (- x (modulo x 16)) (- y (modulo y 16)) 16 16))<br />&gt; <br />&gt; &gt; (define f (new frame% (label &quot;map editor&quot;)))<br />&gt; <br />&gt; &gt; (define xymsg (new message% (label &quot;nth so far&quot;) (parent f)))<br />&gt; <br />&gt; &gt; (define select%<br />&gt; <br />&gt; &gt; (class canvas%<br />&gt; <br />&gt; &gt; (override on-event on-paint)<br />&gt; <br />&gt; &gt; (define on-paint ( () (send (send this get-dc) draw-bitmap chipset 0 0)))<br />&gt; <br />&gt; &gt; (define on-event ( (m)<br />&gt; <br />&gt; &gt; (send xymsg set-label<br />&gt; <br />&gt; &gt; (string-append &quot;x:&quot;<br />&gt; <br />&gt; &gt; (number-&gt;string (send m get-x))<br />&gt; <br />&gt; &gt; &quot; y:&quot;<br />&gt; <br />&gt; &gt; (number-&gt;string (send m get-y))))<br />&gt; <br />&gt; &gt; (when (send m get-left-down) (check (send this get-dc) m))))<br />&gt; <br />&gt; &gt;<br />&gt; <br />&gt; &gt; (super-new )<br />&gt; <br />&gt; &gt; ))<br />&gt; <br />&gt; &gt; (new select% (parent f) (min-width (image-width chipset)) (min-height (image-height chipset)) )<br />&gt; <br />&gt; &gt; (send f show #t)_________________________________________________<br />&gt; <br />&gt; &gt; For list-related administrative tasks:<br />&gt; <br />&gt; &gt; http://lists.racket-lang.org/listinfo/users<br />&gt; <br />&gt; <br />&gt; <br />&gt;