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

شروع موضوع توسط saeidpes ‏13 مارس 2008 در انجمن منطق و الگوریتم برنامه‌نویسی

  1. saeidpes

    saeidpes New Member

    ارسال‌ها:
    22
    تشکر شده:
    2
    امتیاز دستاورد:
    1
    باسلام
    آيا ميتوان در ويژوال بيسيك فرم قابل پيمايش و اسكرول ايجاد كرد
    با تشكر
     
    نوشته شده توسط saeidpes در ‏13 مارس 2008
  2. the_king

    the_king مدیرکل انجمن

    ارسال‌ها:
    11,270
    تشکر شده:
    11,581
    امتیاز دستاورد:
    113
    البته که امکانپذیر است، ولی چون در قابلیتهای پایه فرمهای ویژوال بیسیک چنین موردی پیش بینی نشده در هر منبعی
    این ویژگی به روش متفاوتی پیاده سازی شده.

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

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

    ولی انصافا کدی که حقیر نوشته ام و اینجا ارائه می کنم از سایر کدهایی که در این منابع ارائه شده هم ساده تر
    و هم مناسب تر است. تمامی موارد در داخل یک کلاس پیاده سازی شده است.
    کافیست که کلاس ClassScroll را به پروژه اضافه کنید و کد زیر را برای فرم مورد نظر بنویسید :
    کد (Text):

    Private Scroll As New [B]ClassScroll[/B]

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

    اگر می خواهید که فرم از اندازه مشخصی کوچکتر نشود از دو مشخصه MinWidth و MinHeight برای تعیین کردن
    حداقل طول و حداقل عرض فرم (برحسب Twips) استفاده کنید.
    کد (Text):

    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
      نمایش ها:
      44
    نوشته شده توسط the_king در ‏14 مارس 2008
  3. saeidpes

    saeidpes New Member

    ارسال‌ها:
    22
    تشکر شده:
    2
    امتیاز دستاورد:
    1
    با سلام
    از راهنمائي كاربر فعال the _king در خصوص پاسخگوئي از اينكه توضيحات كامل در باره فرم اسكرول داده اند سپاسگزارم با تشكر
     
    نوشته شده توسط saeidpes در ‏14 مارس 2008
  4. ghaz_ghaz90

    ghaz_ghaz90 New Member

    ارسال‌ها:
    1
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    سلام ممنون از آموزش من یه سوال دیگه داشتم این بود که می خواستم ببینم که میشه فورم اصلی رو بیشتره حد مجازش بزرگ تر کرد و با اسکرول تنظیم کردش که بقیه فروم رو دید؟
     
    نوشته شده توسط ghaz_ghaz90 در ‏14 جولای 2013
  5. the_king

    the_king مدیرکل انجمن

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

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

    مشاهده پیوست Scroll Form 2.zip
     
    نوشته شده توسط the_king در ‏15 جولای 2013

به اشتراک بگذارید