VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/02/04(Fri) 19:11
投稿者花ちゃん
Eメール
URL
タイトルRe: Line(線)のイベント取得(簡単な方法)

フォームにラインコントロールとラベルを貼り付けて下さい。
ラインコントロールの一方にラベルを貼り付け、そのラベルをドラッグする
ことで移動できます。
下記のテストではラインを縦に引きその上部にラベル小さくして配置。

Option Explicit

Private XPos    As Long
Private YPos    As Long

Private Sub Form_Load()
    'OLE ドロップ イベントを発生させます。
    Label1.OLEDropMode = vbOLEDropManual
End Sub

Private Sub Form_DragDrop(Source As Control, _
                                    X As Single, Y As Single)
'フォーム上にドロップした時の補正
    Source.Move X - XPos, Y - YPos
    Line1.X1 = X - XPos
    Line1.Y1 = Y - YPos
End Sub

Private Sub Label1_DragDrop(Source As Control, X As Single, Y As Single)
    '同一コントロール内でドロップした場合の補正
    Source.Move (Label1.Left + X - XPos), (Label1.Top + Y - YPos)
    Line1.X1 = Label1.Left + X - XPos
    Line1.Y1 = Label1.Top + Y - YPos
End Sub

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'ドラッグ開始位置の保存とドラッグの開始
    YPos = Y
    XPos = X
    Label1.Drag vbBeginDrag
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -