PDA

View Full Version : سوال: ایجاد اشیاء در حین برنامه؟



ras-amir
جمعه 11 شهریور 1390, 10:02 صبح
سلام .
من برنامه ای دارم و می خوام در حین برنامه ام کنترل ها و خط و دایره و ... ایجاد کنم .
چطوریه؟؟؟؟:متفکر:
کمک کنید.

محسن واژدی
جمعه 11 شهریور 1390, 11:07 صبح
سلام علیکم
ساده ترین روش استفاده از کنترل آرایه است یعنی کنترل هایی که مایل به ایجاد نسخه هایی از آن ها در run-time هستید را آرایه کرده سپس توسط دستوری مشابه کد زیر، یکی کپی از آنها ایجاد میکنید،

Private Sub Command1_Click(Index As Integer)
Call Load(Command1(Command1.UBound + 1))
Command5(Command1.UBound).Visible = True
Command1(Command1.UBound).Move Rnd * Me.Width, Rnd * Me.Height
End Sub

برای ایجاد کنترل آرایه: اگر کنترلی را کپی کرده سپس کپی آن را paste کنید پیامی مبتنی بر تبدیل کنترل به آرایه آن ظاهر میشود و اگر Yes را انتخاب کنید کنترل جدید به آرایه کنترل تبدیل خواهد شد
در نمونه بالا یک دکمه با نام Command1 را بر روی فرم ایجاد سپس آنرا کنترل آرایه کنید

در روش دو ایجاد یک کنترل مستقل در زمان اجراست که نیازمند کدنویسی بیشتر برای ارتباط با آن هستید:Private WithEvents NewComEvnt As CommandButton

Private Sub Command1_Click()
Dim NewComBTN As CommandButton
Set NewComBTN = Controls.Add("VB.CommandButton", "NewCommand")
Set NewComEvnt = NewComBTN
NewComBTN.Visible = True
NewComBTN.Left = 100
NewComBTN.Top = 100
NewComBTN.Caption = "NewBTN"
End Sub
Private Sub NewComEvnt_Click()
MsgBox "Pressed '" & NewComEvnt.Name & "' button"
End Sub


موفق باشید

ras-amir
جمعه 11 شهریور 1390, 14:06 عصر
ممنون برادر!
ببخشید سوال مبتدی هست:من منظور و کاربرد کال و ست رو نفهمیدم! اگه می شه توضیح بدید این دو کارشون چیه؟
ببخشید این را هم توضیح دهید:WithEvents چیست؟
ببخشد مبتدی بود.

محسن واژدی
جمعه 11 شهریور 1390, 14:52 عصر
من منظور و کاربرد کال و ست رو نفهمیدم! اگه می شه توضیح بدید این دو کارشون چیه؟
دستور Call یک تابع، روال و ... را احضار میکند و Set یک شی را در حافظه ایجاد میکند که در نمونه بالا شی command را ایجاد کرده است


ببخشید این را هم توضیح دهید:WithEvents چیست؟
WithEvents رویداد های شی را اعلان میکند، در واقع WithEvents نشان میدهد که شی اختصاص داده شده به آن حاوی رویداد بوده و متغیر اعلان شده توسط WithEvents رویدادهای شی اختصاص یافته را نشان میدهد
موفق باشید

setroyd
جمعه 11 شهریور 1390, 15:10 عصر
Private Sub Form_Load()
Dim t As TextBox
Set t = Me.Controls.Add("vb.textbox", "t1")
t.Visible = True
t.Left = 200
t.Top = 200
t.Width = 1000
t.Height = 300
End Sub


set کردن به معنای قرار دادن هست اینجا یعنی ما یک شِی از command button میسازیم و سپس اون رو ست میکنیم برای فرم و مشخصات و پراپرتی هاشو تنظیم میکنیم call هم دلخواه هست شما میتونی استفاده نکنی ولی کردنش استانداردتره معمولا برای صدا زدن sub و.... استفاده میشه .

ras-amir
جمعه 11 شهریور 1390, 15:37 عصر
ممنون دوستان جوابم رو گرفتم
یا علی