امکان کلیک راست داخل تکست باکس یوزم فرم

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

    • 2014/09/27
    • 64
    • 37.00

    پرسش امکان کلیک راست داخل تکست باکس یوزم فرم

    باسلام
    آیا امکان داره وقتی داخل تکست باکس یوزرفرم راست کلیک کنی منوی copy و paste و ... باز بشه؟

    ممنون
  • hosseinamerey

    • 2012/09/13
    • 193

    #2
    نوشته اصلی توسط mreza
    باسلام
    آیا امکان داره وقتی داخل تکست باکس یوزرفرم راست کلیک کنی منوی copy و paste و ... باز بشه؟

    ممنون
    سلام
    بله امکانش هست که منوی راست کلیک فعال کنی
    کافیه از کد زیر استفاده کنی
    کد PHP:
          Sub MakePopUp()
    'Remove any old instance of MyPopUp
    On Error Resume Next
    CommandBars("MyPopUp").Delete
    On Error GoTo 0

    With CommandBars.Add(Name:="MyPopUp", Position:=msoBarPopup)
    .Controls.Add Type:=msoControlButton, ID:=19
    .Controls.Add Type:=msoControlButton, ID:=22
    End With
    End Sub



    Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    MakePopUp
    If Button = 2 Then
    Application.CommandBars("MyPopUp").ShowPopup
    End If
    End Sub 

    کامنت

    • mreza

      • 2014/09/27
      • 64
      • 37.00

      #3
      نوشته اصلی توسط hosseinamerey
      سلام
      بله امکانش هست که منوی راست کلیک فعال کنی
      کافیه از کد زیر استفاده کنی
      کد PHP:
            Sub MakePopUp()
      'Remove any old instance of MyPopUp
      On Error Resume Next
      CommandBars("MyPopUp").Delete
      On Error GoTo 0

      With CommandBars.Add(Name:="MyPopUp", Position:=msoBarPopup)
      .Controls.Add Type:=msoControlButton, ID:=19
      .Controls.Add Type:=msoControlButton, ID:=22
      End With
      End Sub



      Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      MakePopUp
      If Button = 2 Then
      Application.CommandBars("MyPopUp").ShowPopup
      End If
      End Sub 
      ممنون از راهنمایی شما

      کامنت

      • كامران

        • 2016/06/29
        • 147
        • 41.00

        #4
        نوشته اصلی توسط hosseinamerey
        سلام
        بله امکانش هست که منوی راست کلیک فعال کنی
        کافیه از کد زیر استفاده کنی
        کد PHP:
              sub makepopup()
        'remove any old instance of mypopup
        on error resume next
        commandbars("mypopup").delete
        on error goto 0

        with commandbars.add(name:="mypopup", position:=msobarpopup)
        .controls.add type:=msocontrolbutton, id:=19
        .controls.add type:=msocontrolbutton, id:=22
        end with
        end sub



        private sub textbox1_mouseup(byval button as integer, byval shift as integer, byval x as single, byval y as single)
        makepopup
        if button = 2 then
        application.commandbars("mypopup").showpopup
        end if
        end sub 

        سلام من هم همچین مشکلی داشتم و این کد را در فرمم گذاشتم تقریبآ کار میکند و پاپ آپ را باز میکند ولی وقتی روی گزینه جای گزینی کلیک میکنم اطلاعاتی رو که میخوام بجای تکست باکس توی ستون a شیت جاری مینویسه چرا ؟

        کامنت

        • Amir Ghasemiyan

          • 2013/09/20
          • 4598
          • 100.00

          #5
          نوشته اصلی توسط كامران
          سلام من هم همچین مشکلی داشتم و این کد را در فرمم گذاشتم تقریبآ کار میکند و پاپ آپ را باز میکند ولی وقتی روی گزینه جای گزینی کلیک میکنم اطلاعاتی رو که میخوام بجای تکست باکس توی ستون a شیت جاری مینویسه چرا ؟
          سلام
          كل كدتون رو بذاريد بهتون بگم مشكل كجاست

          کامنت

          • كامران

            • 2016/06/29
            • 147
            • 41.00

            #6
            نوشته اصلی توسط Amir Ghasemiyan
            سلام
            كل كدتون رو بذاريد بهتون بگم مشكل كجاست
            سلام
            کل فایل رو براتون میذارم کد توی فرمیه که با فلش مشخصه

            حالا که شما زحمت میکشید فایل رو نگاه میکنید ممنون میشم این مشکل رو در مورد همون فایل برام درست کنید
            پرسش: سلولهای اضافه در کومبوباکس
            فایل های پیوست شده

            کامنت

            • Amir Ghasemiyan

              • 2013/09/20
              • 4598
              • 100.00

              #7
              شما براي دكمه ها تعريف نكرديد چه عملياتي انجام بدن. براي تعريف عمليات مورد نظر به اين ترتيب عمل كنيد:


              در ساب روتين MakePopUp اين دو خط رو در انتها اضافه كنيد

              کد:
              CommandBars("MyPopUp").Controls(1).OnAction = "CopyText"
              CommandBars("MyPopUp").Controls(2).OnAction = "PasteText"
              در انتهاي ماژول اين كدها رو اضافه كنيد
              کد:
              ' Action Copy
              Private Sub CopyText()
                  Set txtData = New DataObject
                  txtData.SetText fullint.TextBox1.SelText
                  txtData.PutInClipboard
              End Sub
              
              
              ' Action Paste
              Private Sub PasteText()
                  fullint.TextBox1.Paste
              End Sub

              کامنت

              • كامران

                • 2016/06/29
                • 147
                • 41.00

                #8
                نوشته اصلی توسط Amir Ghasemiyan
                شما براي دكمه ها تعريف نكرديد چه عملياتي انجام بدن. براي تعريف عمليات مورد نظر به اين ترتيب عمل كنيد:


                در ساب روتين MakePopUp اين دو خط رو در انتها اضافه كنيد

                ............
                ممنون فقط یه موضوع تموم کد هائی که این کار رو انجام میدن میشه
                کد:
                    Sub MakePopUp()
                'Remove any old instance of MyPopUp
                On Error Resume Next
                CommandBars("MyPopUp").Delete
                On Error GoTo 0
                
                
                With CommandBars.Add(name:="MyPopUp", Position:=msoBarPopup)
                .Controls.Add Type:=msoControlButton, ID:=19
                .Controls.Add Type:=msoControlButton, ID:=22
                End With
                CommandBars("MyPopUp").Controls(1).OnAction = "CopyText"
                CommandBars("MyPopUp").Controls(2).OnAction = "PasteText"
                End Sub
                و
                کد:
                ' Action CopyPrivate Sub CopyText()
                    Set txtData = New DataObject
                    txtData.SetText fullint.TextBox1.SelText
                    txtData.PutInClipboard
                End Sub
                و
                کد:
                ' Action PastePrivate Sub PasteText()
                    fullint.TextBox1.Paste
                End Sub
                و
                کد:
                Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
                MakePopUp
                If Button = 2 Then
                Application.CommandBars("MyPopUp").ShowPopup
                End If
                End Sub
                حالا من تو یه کار دیگه چندین عدد تکست باکس دارم اگه بخوام از این کد استفاده کنم آیا باید همه شونو برای هر کدوم تکرار کنم (با تغییرات هر فرم ) یا بعضیهاش مشترکه و فقط یه دفعه نوشتنش کافیه ؟

                کامنت

                • Amir Ghasemiyan

                  • 2013/09/20
                  • 4598
                  • 100.00

                  #9
                  اگر داخل يك فرم باشه با يكسري تغييرات جزئي ديگه نيازي نيست چند بار نوشته بشه اما در غير اين صورت بايد همه كدها مجزا نوشته بشن

                  اون تغييرات اينطوري هستند:

                  کد:
                  Sub MakePopUp(field As String)
                  'Remove any old instance of MyPopUp
                  On Error Resume Next
                  CommandBars("MyPopUp").Delete
                  On Error GoTo 0
                  
                  With CommandBars.Add(name:="MyPopUp", Position:=msoBarPopup)
                  .Controls.Add Type:=msoControlButton, ID:=19
                  .Controls.Add Type:=msoControlButton, ID:=22
                  End With
                  
                  CommandBars("MyPopUp").Controls(1).OnAction = "'CopyText """ & field & """'"
                  CommandBars("MyPopUp").Controls(2).OnAction = "'PasteText """ & field & """'"
                  End Sub
                  
                  ' Action Copy
                  Sub CopyText(tb As String)
                      Set txtData = New DataObject
                      txtData.SetText fullint.Controls(tb).SelText
                      txtData.PutInClipboard
                  End Sub
                  
                  
                  ' Action Paste
                  Sub PasteText(tb As String)
                      fullint.Controls(tb).Paste
                  End Sub
                  حالا كافيه موقع فراخواني ساب MakePopUp رو با آرگومان اسم تكست باكس بنويسيد. به اين صورت:
                  کد:
                  MakePopUp "TextBox1"

                  کامنت

                  • كامران

                    • 2016/06/29
                    • 147
                    • 41.00

                    #10
                    نوشته اصلی توسط Amir Ghasemiyan
                    اگر داخل يك فرم باشه با يكسري تغييرات جزئي ديگه نيازي نيست چند بار نوشته بشه اما در غير اين صورت بايد همه كدها مجزا نوشته بشن

                    اون تغييرات اينطوری................

                    ممنون از زحمتتان ولی من این کد را داخل برنامه گذاشتم
                    1 - اگه فقط یکی باشه کار میکنه
                    2 - اگه 2 دفعه بنویسم و توی هر کدام اسم فرم خودش رو بنویسم به محض راست کلیک خطا میده از خطوط کپی و پیست
                    3 - اگه اون خطوط رو یکیشو حذف کنم خطا نمیده ولی بفد از باز گردن پاپ آپ دیگه هیچکاری نمیکنه
                    خلاصه گیج شدم
                    حالا اگه شما لطف کنید این کدهارو با این شرطهائی که میگم برام عوض کنید ممنون میشم
                    فرض کنید یه فایله با 3 فرم هر فرم هم 2 خانه textbox1 و textbox2 داره

                    کامنت

                    • Amir Ghasemiyan

                      • 2013/09/20
                      • 4598
                      • 100.00

                      #11
                      دو تا فرم و هر فرم هم دو تكست باكس
                      فایل های پیوست شده

                      کامنت

                      چند لحظه..