Parsi Coders
ساخت کنترل به صورت پویا در vb6 - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Visual Basic Programming (http://parsicoders.com/forumdisplay.php?fid=39)
+---- انجمن: Visual Basic 6 (http://parsicoders.com/forumdisplay.php?fid=44)
+---- موضوع: ساخت کنترل به صورت پویا در vb6 (/showthread.php?tid=1021)



ساخت کنترل به صورت پویا در vb6 - Amin_Mansouri - 10-11-2011

شاید زمانی خواسته باشید که در حال اجرای نرم افزار یک کنترل مثل دکمه یا جعبه تصویر ایجاد نمایید. برای این کار دو روش وجود دارد.
۱- در گام نخست یک ‍TextBox با نام txtarray بر روی صفحه ایجاد کنید و مقدار Index را صفر قرار دهید. سپس کد زیر را در فرم وارد کنید:


کد:
Private Sub Form_Load()
Dim i As Integer
  txtArray(0).text = "0"

  For i = 1 To 5
    Load txtArray(i)
    With txtArray(i)
      .Text =  i
      .Visible = True
      .Top = txtArray(i - 1).Top + 550
    End With
  Next i
End Sub

در زمان اجرا ۵ تکست باکس بر روی صفحه ایجاد خواهد شد.



۲- در روش دوم بدون ایجاد هیچ کنترل پیش ساخته‌ای می‌توانید فرآیند موردنظر را انجام دهید. تنها کافیست کد زیر را در فرم وارد نمایید:


کد:
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




برگرفته از:

http://www.codeguru.com/vb/controls/vb_activex/activex/article.php/c3499