- 日時: 2009/04/15 10:18
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[描画・画像][][] * * キーワード:,四角形,ドラッグアンドドロップ,短形,斜線,マウス * *********************************************************************************** タイトル : ピクチャーボックスの描画について 記 事 No : 13503 投 稿 日 : 2009/03/11(Wed) 17:10 元質問者 : 慶次
黒く塗りつぶされた四角形を消さずにMouseMoveイベントで、斜線を描画 したいと考えております。
----------------------------------------------------------------------------------- 記事No : 13509 投稿日 : 2009/03/12(Thu) 23:24 回答者 : 魔界の仮面弁士 ----------------------------------------------------------------------------------- 描画処理は、Paint イベントにまとめるようにしてください。 また、消さずに残しておきたい内容があるならば、背景画像として登録するようにします。
Option Explicit Private nPosX As Single Private nPosY As Single Private sPosX As Single Private sPosY As Single Private ePosX As Single Private ePosY As Single
Private Sub Form_Load() Picture1.ScaleHeight = 3000 Picture1.ScaleWidth = 6000 Picture1.AutoRedraw = True Picture1.DrawStyle = vbSolid Picture1.Line (0, 0)-(1000, 1000), , BF Set Picture1.Picture = Picture1.Image Picture1.AutoRedraw = False Picture1.Cls Picture1.FillStyle = vbUpwardDiagonal End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If (Button And vbLeftButton) <> 0 Then sPosX = X sPosY = 0 ePosX = X ePosY = 2000 End If End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If (Button And vbLeftButton) <> 0 Then nPosX = X nPosY = 2000 Picture1.Refresh End If End Sub
Private Sub Picture1_Paint() Picture1.Cls Picture1.Line (sPosX, sPosY)-(ePosX, ePosY), vbBlue, B ePosX = nPosX ePosY = nPosY End Sub
----------------------------------------------------------------------------------- 同様の操作を下記でも紹介しております。
ドラッグアンドドロップについて(短形の描画)(VB6.0) http://hanatyan.sakura.ne.jp/patio/read.cgi?no=60
|