2016-10-19 5 views
2

私はVisual Basic 6でプログラムを持っているので、コードで自分のプログラムにボタンを作成する必要があります。VB6でコードを使ってオブジェクトを作成する

私はこのコードを書く:

private sub Pulso_click() 
    dim boton as CommandButton 
    set boton = new CommandButton 
    boton.width = 100 
    boton.height = 30 
    boton.caption = "MiBoton" 

End Sub 

をしかし、実行しないでください。私は "El uso de la palabra clave New no es valido"、 英語で "キーワードNew use invalid"を持っています。

これはVisual Basic 6で実行されます

問題はどこですか?ありがとう

+0

フォーム(UIアプリケーションウィンドウ) – Fredrik

+0

にボタンコントロール "boton"を追加するのではなく、実行時にプログラムでフォームにコントロールを追加するよりも、私の意見ではデザイン時にボタンを追加する必要に応じて単に非表示にすることができます。 – Fredrik

+0

それは特定のものにも役立ちます。コントロールを動的に作成するには、単純なクラスのインスタンスを作成するよりも異なるステップが必要です。確かに、彼らは両方の "対象"ですが、違いは世界のすべての違いになります。 – Bob77

答えて

2

あなたのコードはVB6 IDEに由来していません。私はあなたがIDEを持っていると思いますよね?その場合:

コードでCommandButtonを作成することはできません。実行時に必要な場合は、コントロールフィールドが必要です。コントロールフィールドを作成するには、フォームにCommandButtonコントロールを配置します。インデックス0を指定します。VisibleプロパティをFalseに設定します。

コードにはピクセルが含まれているようです。フォームのScaleModeプロパティを3ピクセルに設定します。

このテンプレートからさらにインスタンスを作成できます。

Private Sub Form_Load() 
    Load Command1(1) 
    With Command1(1) 
     .Top = 10 
     .Left = 10 
     .Width = 100 
     .Height = 30 
     .Caption = "MiBoton 1" 
     .Visible = True 
     .ZOrder 
    End With 

    Load Command1(2) 
    With Command1(2) 
     .Top = 10 
     .Left = 120 
     .Width = 100 
     .Height = 30 
     .Caption = "MiBoton 2" 
     .Visible = True 
     .ZOrder 
    End With 
End Sub 
+1

「コードだけで」コマンドボタンを作成することができます。これは、私が答えで示した最初の例を見てください。それは動的なコントロールです。 – vbdevelp

+0

ありがとうハーブ、かなりの解決策。 –

3

このコードは、私のために私のために何の問題もなく

Option Explicit 
' 
Dim WithEvents Cmd1 As CommandButton 
' 
Private Sub Form_Load() 
    Set Cmd1 = Controls.Add("vb.commandbutton", "Cmd1") 
    Cmd1.Width = 2000 
    Cmd1.Top = Me.Height/2 - Cmd1.Height/2 - 100 
    Cmd1.Left = Me.Width/2 - Cmd1.Width/2 - 100 
    Cmd1.Caption = "Dynamic Button" 
    Cmd1.Visible = True 
End Sub 
' 
Private Sub Cmd1_click() 
    MsgBox "I have been Created Dynamically at Run-time", _ 
    , "Dynamic Controls" 
End Sub 
' 

enter image description here

ワークス作品、私はあなたにもインデックスを使用することができ、このコードはあなたのために働く願って1つのコマンドボタンとセットを作成しますフォームのロード時に0にしてから、表示するときはいつでもインデックスを表示します。

Load Command1(1) 
Command1(1).Caption = "command2" 
Command1(1).Left = Command1(0).Left + Command1(0).Width 
Command1(1).Top = Command1(0).Top 
Command1(1).Visible = True 

あなたはポイントを得る、幸運、私は多くのコントロールをたくさん持っているときにインデックスを使用します。

関連する問題