ايران ويج

نسخه‌ی کامل: یک سوال در مورد ظاهر برنامه در vb 6.0
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
آیا میشه برنامه هایی که در vb 6.0 نوشته می شود را کاری کرد که command ها و progressbarها و دیگر اشیا در این برنامه ها با اشیای ویندوزهایی مثل( xp و seven )یکسان و یک شکل باشند ؟ کسی هست منو راهنمایی کنه ؟ Shy
من از moduleها و دیگر چیز هایی که در فایل پیوست این لینک بود در برنامم استفاده کردم ولی فقط وقتی که فرم اصلی اولین فرم پروژه بود این moduleها عمل کردوبرنامه حالت جدید به خودش گرفت ولی وقتی که فرم اول پروژه فرم خوش آمد گویی بود و با timerبعد از چند ثانیه unload می شد دیگه فرم اصلی که فرم دوم بود loadنمی شد و برنامه خاتمه پیدا می کرد. مشکل چیه ؟ (البته من در یکی از moduleها عبارت form1را به عبارت form2تبدیل کرده بودم ولی جواب نداد)
(۰۶-شهریور-۱۳۹۰, ۰۶:۲۹:۵۳)Hamidreza97 نوشته است: [ -> ]آیا میشه برنامه هایی که در vb 6.0 نوشته می شود را کاری کرد که command ها و progressbarها و دیگر اشیا در این برنامه ها با اشیای ویندوزهایی مثل( xp و seven )یکسان و یک شکل باشند ؟ کسی هست منو راهنمایی کنه ؟Shy


بله می شودبه راحتی.این تابع رو در قسمت General فرم قرار بده
Private Declare Function InitCommonControls Lib "comctl32.dll" () As Long

بعد این کد رو به فرم اضافه کن
Private Sub Form_Initialize()
InitCommonControls
End Sub

بعد این فایل رو به پروژه ات اضافه کن
به ان شکل
Project > add file > Xp Them.res
بعد از این پروژه ات رو کامپایل کن نتیجه رو ببین

راستی یادم رفت بگم برای هر فرم باید کد
Private Sub Form_Initialize()
InitCommonControls
End Sub
رو وارد کنید
(۰۷-شهریور-۱۳۹۰, ۱۰:۴۲:۰۵)Hamidreza97 نوشته است: [ -> ]من از moduleها و دیگر چیز هایی که در فایل پیوست این لینک بود در برنامم استفاده کردم ولی فقط وقتی که فرم اصلی اولین فرم پروژه بود این moduleها عمل کردوبرنامه حالت جدید به خودش گرفت ولی وقتی که فرم اول پروژه فرم خوش آمد گویی بود و با timerبعد از چند ثانیه unload می شد دیگه فرم اصلی که فرم دوم بود loadنمی شد و برنامه خاتمه پیدا می کرد. مشکل چیه ؟ (البته من در یکی از moduleها عبارت form1را به عبارت form2تبدیل کرده بودم ولی جواب نداد)


تابع PrepareThemeSupport قبل از لود شدن اولين فرم بايد اجرا بشه

دو راه داريد:
1.استارت آپ پروژه تون رو روی Main قرار بديد به اين صورت:

'In module
کد:
Sub Main()
    Call PrepareThemeSupport
'forme avale barname    Form1.Show
End Sub

2.يا اينکه توی رويداد Initialize اولين فرم برنامه اين تابع رو قرار بديد به اين صورت:

کد:
Private Sub Form_Initialize()
   Call PrepareThemeSupport
End Sub

Private Sub Form_Load()
    Call FixThemeSupport(Controls)
End Sub


ضمناً توی هر دو روش تابع FixThemeSupport رو بايد توی رويداد Initialize يا Load همه فرم های برنامه تون قرار بديد