コントロールの動的配置とそれぞれの制御(VB6.0)_1 (No.1の個別表示) [スレッド一覧へ] |
- 日時: 2011/04/05 13:04
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[コントロール共通][基本コード][] * * キーワード:動的作成,実行時に作成,配列,テキストボックス,ボタン,イベント処理 * ***********************************************************************************
---------------------------------------------------------------------- Re: 実行時、コントロールの生成 - 花ちゃん 2003/01/14-17:45 No.2158 ----------------------------------------------------------------------
ヘルプで Add メソッド (Controls コレクション) の使用例 を検索して見て下さい。 サンプルいくつかと詳しい解説が載っています。 又は、下記参照
当サイト内を[Controls.Add]での検索結果 http://tinyurl.com/yuxh46
|
コントロールの動的配置とそれぞれの制御(VB6.0)_2 (No.2の個別表示) [スレッド一覧へ] |
- 日時: 2011/04/05 13:04
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[コントロール共通][基本コード][] * * キーワード:動的作成,実行時に作成,配列,テキストボックス,ボタン,イベント処理 * ***********************************************************************************
------------------------------------------------------------------------------- Re: コントロールの動的配置とそれぞれの制.. - nanashi 2003/12/12-17:45 No.7103 -------------------------------------------------------------------------------
動的な配置などはやったことないですけど、以下のようにしたら動きました。
Option Explicit
Private WithEvents myCmd1 As CommandButton Private WithEvents myCmd2 As CommandButton Private WithEvents myCmd3 As CommandButton
Private Sub myCmd1_Click() MsgBox "おはようございます" End Sub
Private Sub myCmd2_Click() MsgBox "こんにちは" End Sub
Private Sub myCmd3_Click() MsgBox "おやすみなさい" End Sub
Private Sub Form_Load() Dim sBuff As String Dim i As Integer Dim btnObj As CommandButton For i = 1 To 3 Select Case i Case 1 Set myCmd1 = Controls.Add("VB.CommandButton", "myCmd" & i) Set btnObj = myCmd1 sBuff = "朝" Case 2 Set myCmd2 = Controls.Add("VB.CommandButton", "myCmd" & i) Set btnObj = myCmd2 sBuff = "昼" Case 3 Set myCmd3 = Controls.Add("VB.CommandButton", "myCmd" & i) Set btnObj = myCmd3 sBuff = "夜" End Select With btnObj .Visible = True .Width = 2000 .Top = i * 500 .Left = 500 .Height = 500 .Caption = sBuff End With Set btnObj = Nothing Next i End Sub
|
コントロールの動的配置とそれぞれの制御(VB6.0)_3 (No.3の個別表示) [スレッド一覧へ] |
- 日時: 2011/04/05 13:05
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[コントロール共通][基本コード][] * * キーワード:動的作成,実行時に作成,配列,テキストボックス,ボタン,イベント処理 * ***********************************************************************************
元質問:コントロールの自動作成 - kamurin 2004/03/22-15:37 No.8463
データベースのデータを表示させる処理でレコード数分のTextBoxを作りたいのですが・
----------------------------------------------------------------- Re: コントロールの自動作成 - とろ 2004/03/22-16:52 No.8466 -----------------------------------------------------------------
VB6 以前ならば次のような感じ。
Text1, Text2, Command1 をフォーム上に配置して、 下のコードを実行して下さい。 # デザイン時に Text2 の Index は 0 にしておいて下さい。
Text1 に数値(質問の場合、レコード数)を入力して、ボタンを押すと その数だけ Text2 が作成されます。
'---------------------------------------- Option Explicit Private Sub Command1_Click() Dim i As Integer For i = 1 To Text2.UBound Unload Text2(i) Next i For i = 1 To CInt(Text1.Text) Load Text2(i) With Text2(i) .Top = (Text2(0).Height + 30) * i .Visible = True End With Next i End Sub Private Sub Form_Load() Text2(0).Visible = False Text1.Text = "10" End Sub
|
マウスクリックでテキスト作成(VB6.0)_4 (No.4の個別表示) [スレッド一覧へ] |
- 日時: 2011/04/05 13:12
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[コントロール共通][基本コード][] * * キーワード:動的作成,実行時に作成,配列,テキストボックス,ボタン,イベント処理 * ***********************************************************************************
元質問:マウスクリックでテキスト作成 - 川島 2004/04/12-13:52 No.8641
フォーム上で左マウスクリックを押したらテキストエリアを作るようにしたいのですが、マウス周りはなんとなくわかるんですが、どうやったらテキストエリアが作れるのかがわかりません。
---------------------------------------------------------------------------- Re^6: 解決しました。ありがとうございます.. - 川島 2004/04/12-15:52 No.8652 ----------------------------------------------------------------------------
kamurinさんサムさんご協力ありがとうございました。m(_ _)m とりあえず完成いたしました。
Dim MusX As Single Dim MusY As Single Dim Index As Integer 'テキストボックスの数form_Loadとかで初期化
Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MusX = X MusY = Y End Sub
Private Sub Form_Load() Index = 1 Text1(Index - 1).Visible = False End Sub
Private Sub Form_Click() 'クリックした時に、テキストボックスを作成
If Index > 1 Then Load Text1(Index - 1) '2つ目以降なら作る End If Text1(Index - 1).Visible = True 'クリック位置に移動 Text1(Index - 1).Top = MusY Text1(Index - 1).Left = MusX Index = Index + 1 End Sub
ほとんどkamurinさんの写しですが(笑) 本当に助かりました。
|
|