البته که امکانپذیر است، ولی چون در قابلیتهای پایه فرمهای ویژوال بیسیک چنین موردی پیش بینی نشده در هر منبعی
این ویژگی به روش متفاوتی پیاده سازی شده.
مثلا در سایت مایکروسافت :
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 ضمیمه این پست می باشد.