以下のソースを簡潔なのですが組んでみました。
塗潰したものを移動する際、移動の軌道??みたいなものも描画したいです。
なのですが、知恵を絞り切ってもいい案が出てこないので
誰か力をお貸しください。。よろしくお願いします。
#module #deffunc floodfill int startX, int startY, int noredraw #uselib "gdi32.dll" #cfunc CreateSolidBrush "CreateSolidBrush" int #func SelectObject "SelectObject" int,int #func ExtFloodFill "ExtFloodFill" int,int,int,int,int #func DeleteObject "DeleteObject" int #define ctype RGB(%1,%2,%3) ((%1)|(%2<<8)|(%3<<16)) nc = ginfo_r,ginfo_g,ginfo_b pget startX,startY : tc = RGB(ginfo_r,ginfo_g,ginfo_b) hBrush = CreateSolidBrush( RGB(nc.0,nc.1,nc.2 ) ) SelectObject hdc,hBrush : oldbrs = stat ExtFloodFill hdc, startX, startY, tc, 1 SelectObject hdc,oldbrs : DeleteObject hBrsuh color nc.0,nc.1,nc.2 : if (noredraw=0){redraw} : return #global screen 0,600,250 ;縦線横線を描画 color 0,0,0 y=30 repeat 6 line 50,y,530,y y+35 loop x=50 repeat 17 line x,30,x,205 x+30 loop onclick*塗潰し randomize stop *塗潰し if wparam = 2 { ;右クリックで塗りつぶし ;縦線横線は塗潰さないようにする pget mousex,mousey if ginfo_r = 0 : stop color rnd(4)*64+63,rnd(4)*64+63,rnd(4)*64+63 floodfill mousex,mousey ;マウス座標塗りつぶし } if wparam = 1 { ;左クリックドラッグドロップの処理・・・・ } stop