掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
イsetで追加したものをクリックでイベントを発生させるにはどうすればいいのでしょうか? (ID:113497)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
「control.add 変数のついて」の回答を きちんと読まれませんでしたか? >あるいは、イベントを使わないのなら >Private lblObj(10) As Label と書いたと思いますが? イベントを使いたいならWithEventsは必須です。 そして、WithEventsを指定して配列は作れません。 コントロール配列を動的に作成したかったら Loadステートメントを使ってください。 >Form2につくったコマンドをクリックすると終了するようにするにはどうすればいいのでしょうか。 無理やりしたかったら、サブクラス化かローカルフックで WM_LBUTTONDOWNを拾って処理するのが正道ですが、 手抜きするならこんなかんじ。(邪道編) Option Explicit Private Declare Function PeekMessage Lib "user32" Alias _ "PeekMessageA" (lpMsg As MSG, ByVal hwnd As Long, _ ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, _ ByVal wRemoveMsg As Long) As Long Private Type POINTAPI x As Long y As Long End Type Private Type MSG hwnd As Long message As Long wParam As Long lParam As Long time As Long pt As POINTAPI End Type Private msgMsg As MSG Private Const WM_LBUTTONDOWN = &H201 Private Const PM_NOREMOVE = &H0 Private Const PM_REMOVE = &H1 Private ToEnd(10) As CommandButton Private Sub Command1_Click() Form2.Show Set ToEnd(0) = Form2.Controls.Add("VB.CommandButton", "ToEnd" & CStr(0)) With ToEnd(0) .Visible = True .Width = 1095 End With Do While PeekMessage(msgMsg, ToEnd(0).hwnd, _ WM_LBUTTONDOWN, WM_LBUTTONDOWN, PM_REMOVE) = 0 DoEvents Loop Unload Form2 End Sub 素直にLoadステートメントでボタンの動的追加したほうが楽だと思いますが・・・。 CPU使用率の問題もあるし。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.