- 註冊時間
- 2006-5-8
- 最後登錄
- 2025-1-30
- 主題
- 查看
- 積分
- 206
- 閱讀權限
- 50
- 文章
- 329
- 相冊
- 0
- 日誌
- 9
狀態︰
離線
|
本帖最後由 students1 於 2012-3-20 08:52 編輯
這是我修改過的~~~因為傳值問題導致截圖都錯誤所以我改成你說的程式碼~~~!!
現在我的拖曳大小後已經可以正常截圖了- Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
- Dim CurrentDc As Long
- Dim lHight, lWidth As Long
-
-
- If Button = 1 And Down = True Then
- If X >= dx And Y >= DY Then
- '左上右下拖曳
- selEndPos.X = X
- selEndPos.Y = Y
- lWidth = Abs((selStartPos.X - selEndPos.X))
- lHight = Abs((selStartPos.Y - selEndPos.Y))
- Picture2.Cls '清除圖片內的圖形
- '將滑鼠按下到起來的框選範圍內圖示顯示在Picture3上面
- BitBlt Picture2.hDC, 10, 10, lWidth, lHight, Picture1.hDC, selStartPos.X, selStartPos.Y, SRCCOPY
-
- Else
- If X < dx And Y < DY Then
- '右下左上拖曳
-
- selEndPos.X = X
- selEndPos.Y = Y
- lWidth = Abs((selStartPos.X - selEndPos.X))
- lHight = Abs((selStartPos.Y - selEndPos.Y))
- Picture2.Cls '清除圖片內的圖形
- '將滑鼠按下到起來的框選範圍內圖示顯示在Picture3上面
- BitBlt Picture2.hDC, 10, 10, lWidth, lHight, Picture1.hDC, selEndPos.X, selEndPos.Y, SRCCOPY
-
- Else
- If X < dx And Y >= DY Then
- '右上左下拖曳
- selEndPos.X = X
- selEndPos.Y = Y
- lWidth = Abs((selStartPos.X - selEndPos.X))
- lHight = Abs((selStartPos.Y - selEndPos.Y))
- Picture2.Cls '清除圖片內的圖形
- '將滑鼠按下到起來的框選範圍內圖示顯示在Picture3上面
- BitBlt Picture2.hDC, 10, 10, lWidth, lHight, Picture1.hDC, selEndPos.X, selStartPos.Y, SRCCOPY
-
- ElseIf X >= dx And Y < DY Then
- '左下右上拖曳
- selEndPos.X = X
- selEndPos.Y = Y
- lWidth = Abs((selStartPos.X - selEndPos.X))
- lHight = Abs((selStartPos.Y - selEndPos.Y))
- Picture2.Cls '清除圖片內的圖形
- '將滑鼠按下到起來的框選範圍內圖示顯示在Picture3上面
- BitBlt Picture2.hDC, 10, 10, lWidth, lHight, Picture1.hDC, selStartPos.X, selEndPos.Y, SRCCOPY
- End If
- End If
- End If
-
- End If
-
-
- Call MoveDownUp
- Down = False
-
- End Sub
複製代碼 這是又靜大大你說的地方我已經修改完畢,這是拖曳大小後截圖OK~~但是未改變拖曳大小而直接移動截圖框或動態修改截圖框的大小卻無法截圖我該怎麼做??
|
|