منو با حرکت موس

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • hooman_tt

    • 2013/03/03
    • 31

    منو با حرکت موس

    با سلام خدمت اساتید ارجمند
    چند وقت پیش از یکی از انجمن ها فایل بسیار جالبی را دانلود کردم که هم اکنون نام سازنده آن را به خاطر نمی آورم که تشکر و قدردانی از ایشان بنمایم .
    این فایل را به پیوست قرار میدهم .
    و اما سوال بنده شاید بسیار پیش پا افتاده باشد ولی به هر حال خودم از حل آن عاجزم .
    بنده جهت ساخت منو برای فایلم دقیقاً به همچین یوزرفرم زیبایی نیاز دارم ولی با تعداد دکمه های بیشتر و طراحی بزرگتر . آیا راهی وجود دارد که برای هر دکمه که حرکت موس روی آن را تعریف میکنیم فقط نام دکمه هایی را ذکر کنیم که باید نشان داده شوند و با یک دستور بتوان کلیه دکمه های دیگر را را حذف کرد ؟
    یعنی طبق دستورات ذکر شده در خود این فایل فقط دستورات مشاهده ذکر شود ولی دستورات هاید کردن سایر دکمه ها فقط در یک سطر نوشته شود ؟
    به طور مثال :
    دستوری که برای دکمه Edit نوشته شده است به صورت زیر است :
    Private Sub cmd4_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    cmd2.Visible = False
    cmd3.Visible = False
    cmd7.Visible = True
    cmd8.Visible = True
    cmd9.Visible = True
    cmd6.Visible = False
    End Sub


    آیا راهی وجود دارد که به صورت زیر نوشته شود ؟
    Private Sub cmd4_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    cmd7.Visible = True
    cmd8.Visible = True
    cmd9.Visible = True
    ؟؟؟؟؟؟؟؟؟؟؟
    End Sub

    یعنی به جای علامت سوال دستوری ذکر شود که همه دکمه های دیگر که نامشان (cmdX) است و نامشان در لیست فوق نیست hide شوند ؟
    فایل های پیوست شده
  • VB.SOS

    • 2012/02/24
    • 8

    #2
    فکر کنم بتونین بایک حلقه و شی object فرم، این کار رو انجام بدین.
    برای دکمه های زیر مجموعه یک منو تو تگش مثلا اسم منو اصلی رو بزارین و وقتی روی اون دکمه می رین هر دکمه ای که تگش برابر با اون منو بود رو نشون بده و بقیه رو مخفی بکنه
    ایشالا سر فرصت نمونشو براتون می زارم.

    کامنت

    • misammisam
      مدير تالار حسابداری و اکسل

      • 2014/04/04
      • 892
      • 64.00

      #3
      خوب ميتوني يه فانكشن براي هايد و يه فانكشنم براي نشان دادنش بسازي و اونو با call فراخواني بكني .
      [CENTER][SIGPIC][/SIGPIC]
      [/CENTER]
      [CENTER][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][INDENT]
      [CENTER][SIZE=3][URL="https://affstat.adro.co/click/adf04053-f8a6-439a-9ac4-e6a7e6f4b455"][B]اينجا كليك نكنيا ![/B][/URL][/SIZE]
      [/CENTER]
      [/INDENT]

      [/FONT][/FONT][/FONT][/FONT][/FONT]
      [/CENTER]

      کامنت

      • hooman_tt

        • 2013/03/03
        • 31

        #4
        اساتید محترم
        با کمال تشکر از حضرات عالی
        به استحضار میرسانم که بنده یه کاربر تازه وارد و با اطلاعات ضعیف در زمینه وی بی هستم.
        اگر امکان دارد شما زحمت این کار را بکشید و بنده و امثال بنده با مهندسی معکوس از محضر شما اسنفاده کنیم .
        بسیار ممنون و متشکر .

        کامنت

        • mokaram
          مدير تالار اکسل و بانک اطلاعاتی

          • 2011/02/06
          • 1805
          • 74.00

          #5
          این کار مربوط به فعالیت های استاد گرامی جناب کمیل عزیز می باشن ازشون می خوایم که نظر کارشناسیشون را اعلام بفرمایند
          [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
          [/CENTER]

          کامنت

          • hooman_tt

            • 2013/03/03
            • 31

            #6
            استاد کمیل
            دست به دامنتانیم قربان

            کامنت

            • komeilex
              مدير تالار توابع اكسل

              • 2013/10/18
              • 233
              • 61.00

              #7
              آقا به خدا شرمندم. من همین تازه متوجه شدم. نمی دونم چرا ایمیل نمیاد بابت ارسال موضوع جدید!!!!
              آقا اول اینکه نیاز نیست شما برای هر کنترل دستور عدم نمایش منو هایی رو که نمی خواین نشون بدین رو بنویسین و فقط کافیه روی فرم یه دستور بنویسین و منوهایی رو که همیشه باید باشن رو ویزیبل کنین و اون زیر منو هایی که نباید دیده بشن رو مخفی کنین.
              با این کار تو حرکت بین منو ها، زیر منوها حذف نمی شن. و فقط با حرکت موس روی قسمت خالی فرم زیر منو ها حذف میشن.
              واما کد مورد نظر برای فایلی که قرار داده بودم.
              کد PHP:
              Private Sub UserForm_MouseMove(ByVal Button As IntegerByVal Shift As IntegerByVal X As SingleByVal Y As Single)
              Dim ctl As Control
              For Each ctl In Me.Controls
              If TypeName(ctl) = "CommandButton" Then
              ctl
              .Visible False
              End 
              If
              Next ctl
              cmd1
              .Visible True
              cmd4
              .Visible True
              cmd5
              .Visible True
              CommandButton1
              .Visible True
              End Sub 
              الان تو کد بالا cmd1 مربوط به فایل، cmd4 مربوط به ادیت و cmd5 مربوط به ویو و CommandButton1 مربوط به دکمه exit هستش که همیشه باس فعال باشن.

              منو و حرکت موس.xlsm
              [SIZE=3][COLOR=#006400][B]وقتی خدا مشکلت رو حل میکنه به تواناییش ایمان داری و وقتی مشکلت رو حل نمی کنه بدون که به تواناییت ایمان داره...

              [/B][/COLOR][/SIZE][LEFT] [IMG]http://s5.picofile.com/file/8119323192/Untitled.gif[/IMG][/LEFT]

              کامنت

              چند لحظه..