精華區beta Visual_Basic 關於我們 聯絡資訊
: 重寫一下 : 開兩個single變數陣列,或是二維陣列、自訂結構陣列 : 最好是開可變長度的(以下用dX(),dY()) : 一個布林變數紀錄是否在畫圖(以下稱為繪圖模式) : 一個數值變數當作陣列指標(以下稱為指標t) : (這些都是全域變數) : 首先陣列至少要有一項 : 指標t=這第一項的index : 在mouse_down事件而滑鼠按下左鍵時啟動繪圖模式 : 而相對的在mouse_up要取消 : 在mouse_move中,如果是處於繪圖模式 : 就用line畫dX(t),dY(t)-X,Y : 然後將dX(t),dY(t)更新為X,Y : 如果陣列是可變,開陣列新的下一項(ex. Redim Preserve dX(t+1)) : 然後指標t也加1 : 避免放開滑鼠後又按下時程式多畫一條從上次結束的點連過來的線 : 現在困難度提高了=.= : 我改成這樣:啟動繪圖模式時,如果指標對應的那一項還沒有儲存資料 : 就表示是第一次啟動 : 反之不是 : 所以不是第一次啟動的話就再開陣列下一項並指標加1 : 把新的這項存按下的X,Y : (由於我沒有試過,所以我不知道這會不會成功) : 如果你想顯示兩次按下滑鼠的動作間隔 : 可以把啟動模式時的新開陣列動作改成開兩個 : 然後從第二個開始做 : 這樣中間會留下一個空項 : 不然就要用額外的變數紀錄了 我指標的部分還是不是很懂 要怎麼樣才能讓mousemove的時候陣列能一直遞增下去 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.235.171
Dumkas:因為t要加1你都沒看到 推 61.216.80.74 03/14