ايجاد form قابل پيمايش

saeidpes

New Member
باسلام
آيا ميتوان در ويژوال بيسيك فرم قابل پيمايش و اسكرول ايجاد كرد
با تشكر
 

the_king

مدیرکل انجمن
البته که امکانپذیر است، ولی چون در قابلیتهای پایه فرمهای ویژوال بیسیک چنین موردی پیش بینی نشده در هر منبعی
این ویژگی به روش متفاوتی پیاده سازی شده.

مثلا در سایت مایکروسافت :
How To Scroll a Form When VB Forms Are Limited to Screen Size

و در سایت vbaccelerator :
Adding Scroll Bars to Forms, PictureBoxes and User Controls

ولی انصافا کدی که حقیر نوشته ام و اینجا ارائه می کنم از سایر کدهایی که در این منابع ارائه شده هم ساده تر
و هم مناسب تر است. تمامی موارد در داخل یک کلاس پیاده سازی شده است.
کافیست که کلاس ClassScroll را به پروژه اضافه کنید و کد زیر را برای فرم مورد نظر بنویسید :
کد:
Private Scroll As New [B]ClassScroll[/B]

Private Sub Form_Resize()
    Scroll.[B]Resize[/B] Me
End Sub



اگر می خواهید که فرم از اندازه مشخصی کوچکتر نشود از دو مشخصه MinWidth و MinHeight برای تعیین کردن
حداقل طول و حداقل عرض فرم (برحسب Twips) استفاده کنید.
کد:
Private Sub Form_Load()
    Scroll.[B]MinWidth[/B] = 3000
    Scroll.[B]MinHeight[/B] = 2000
End Sub

اندازه اولیه فرم باید به شکلی باشد که تمامی کنترلها در آن بدرستی دیده شوند مگر اینکه بخواهید بصورت دستی
با استفاده از دو مشخصه BaseWidth و BaseHeight اندازه اصلی فرم را (بر حسب Twips) مشخص کنید.

یک روتین به نام Init هم در کلاس وجود دارد که در اولین رخداد Resize بصورت خودکار رخ می دهد و مشخصات
کنترلهای روی فرم را ثبت می کند.

کلاس ClassScroll (با نام فایل Scroll.cls) به همراه یک برنامه نمونه و فایل اجرایی exe ضمیمه این پست می باشد.
 

پیوست ها

  • Scroll Form.zip
    13.2 کیلوبایت · بازدیدها: 51

saeidpes

New Member
با سلام
از راهنمائي كاربر فعال the _king در خصوص پاسخگوئي از اينكه توضيحات كامل در باره فرم اسكرول داده اند سپاسگزارم با تشكر
 

ghaz_ghaz90

New Member
سلام ممنون از آموزش من یه سوال دیگه داشتم این بود که می خواستم ببینم که میشه فورم اصلی رو بیشتره حد مجازش بزرگ تر کرد و با اسکرول تنظیم کردش که بقیه فروم رو دید؟
 

the_king

مدیرکل انجمن
سلام ممنون از آموزش من یه سوال دیگه داشتم این بود که می خواستم ببینم که میشه فورم اصلی رو بیشتره حد مجازش بزرگ تر کرد و با اسکرول تنظیم کردش که بقیه فروم رو دید؟

با اسکرول و فرم اصلی نه، اما میشه داخل فرم یک کنترل Scrollbar اختصاصی قرار داد و کنترل های داخل یک مجموعه رو جابجا کرد.
محدودیت اعداد 16 بیتی سر جاشه، یعنی ابعاد کنترل ها چه افقی و چه عمودی نباید از 32767 بیشتر بشه.

مثال پیوستی یک کنترل Frame1 داره که جابجا میشه.

مشاهده پیوست Scroll Form 2.zip
 

جدیدترین ارسال ها

بالا