PDA

View Full Version : ایجاد یه Progressbar در هنگام باز شدن برنامه



ali_najari
جمعه 27 اردیبهشت 1387, 20:17 عصر
سلام
یه سوال دارم در مورد ایجاد یه کنترل در هنگام formload که به صورت ocx هست ؟

منظورم اینه که شما از یه اکتیوباکس تو برنامه خودتون استفاده کرده اید حالا فرض کنید میخواد یکی دیگه به فرمتون اضافه کنید

اینو میدونم که زمانی که بخواید یه کنترل به فرم اضافه کنید میتونید از کد زیر استفاده کنید


Dim aa As TextBox
Set aa = Form1.Controls.Add("VB.TextBox", "T" & Int(Rnd() * 1000))

من برنامه رو هم ضمیمه میکنم

vbhamed
جمعه 27 اردیبهشت 1387, 21:19 عصر
سلام

بايد اول كنترل اكتيوايكس مورد نظر رو ايندكسي كني مثلا MyActivex(0) كه اين كار از پنجره Properties انجام ميشه

بعد تو برنامت كنترل هاي بعدي رو Load كن



Load MyActive(1)
Load MyActive(2)
Load MyActive(3)
.
.
.اگر هم قابل نمايش هستن خاصيت Visible رو True كن
چون روي كنترل اول مي افتن مي توني با متد Move جا به جا كني يا خاصيت Left, Top رو تغيير بدي



MyActive(1).Visible = True
MyActive(1).Move 0, 0
.
.

ali_najari
جمعه 27 اردیبهشت 1387, 22:42 عصر
ممنون
من همین کار رو میکردم فقط اکتیوباکس رو ایندکسی نمیکردم

Mbt925
شنبه 28 اردیبهشت 1387, 14:03 عصر
یه روش دیگه برای ساخت کنترل در زمان اجرا وجود داره و از نظر حافظه بهتر از استفاده از متد Load هست.





dim Ctl as vbControlExtender

private sub Command1_Click()

Set ctl = Controls.add ( "control name" , "new loaded control name" )

ctl.Visible = True

end sub