掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コントロールの消し方について (ID:142813)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
イベントを拾うには、WithEvents を使います。 Option Explicit Private WithEvents and_d As VB.Label Private Sub and_d_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If CBool(Button And vbRightButton) Then Controls.Remove and_d.Name Set and_d = Nothing Command1.Enabled = True End If End Sub Private Sub Command1_Click() Set and_d = Controls.Add("VB.Label", "and_d1") and_d.Move 400, 720, 720, 240 and_d.Visible = True and_d.Caption = and_d.Name and_d.DragMode = vbAutomatic Command1.Enabled = False End Sub なお、WithEvents は配列化出来ない事に注意してください。 もしも複数のコントロールを必要とする場合には、下記のような手法があります。 案1) 必要個数分の WithEvents 変数を予め用意しておく。 案2) WithEvents 変数を持ったクラスをコレクションで管理して、 個々のイベントをコレクションクラス側で中継するような実装にする。 案3) Controls.Add で追加していく方法ではなく、 コントロール配列を Load/Unload する手法を利用する。 案4) VB の標準コードで処理する代わりに、コントロールまたはフォームを サブクラス化して、API で制御する。 案5) DirectX 用タイプライブラリを利用して、マウス操作を DirectInput で受け取るようにする。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.