چگونگی auto size از راست

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

    • 2014/03/17
    • 151
    • 70.00

    پرسش چگونگی auto size از راست

    سلام من یه یوزر فرم دارم که داخلش یدونه تکس باکس هست ویژگی auto size رو برای این تکس باکس true میزارم حالا وقتی یه متنی تایپ میکنم از سمت راست تکس باکس رو کوچک میکنه من میخوام تکس باکس رو از سمت چپ کوچک کنه
  • rasools13

    • 2017/01/20
    • 360
    • 80.00

    #2
    سلام ویژگی AutoSize را روی False و ویژگی TextAlign را روی fmTextAlignRight قرار داده و از کد ذیل استفاده کنید
    کد PHP:
    Public L As Integer
    Private Sub TextBox1_Change()
        
    Dim txt As Variant
        txt 
    = TextBox1.Text
        
    If (L < Len(txt)) Then
            Me
    .TextBox1.Left = Me.TextBox1.Left - 5
            Me
    .TextBox1.Width = Me.TextBox1.Width + 5
        
    Else
            
    Me.TextBox1.Left = Me.TextBox1.Left + 5
            Me
    .TextBox1.Width = Me.TextBox1.Width - 5
        End 
    If
        
    L = Len(txt)
    End Sub 
    [CENTER][B]بهترین راه ذخیره زمان(یادگیری)،،حل مشکلات دیگران است
    [COLOR=#0000ff]مشکلات دیگران، روزی مشکلات ما هم خواهد شد[/COLOR][/B][COLOR=#ff0000][B][FONT=arial][/FONT][/B][/COLOR]
    [/CENTER]

    کامنت

    • mohamadali110

      • 2014/03/17
      • 151
      • 70.00

      #3
      نوشته اصلی توسط rasools13
      سلام ویژگی autosize را روی false و ویژگی textalign را روی fmtextalignright قرار داده و از کد ذیل استفاده کنید
      کد PHP:
      public l as integer
      private sub textbox1_change()
          
      dim txt as variant
          txt 
      = textbox1.text
          
      if (l < len(txt)) then
              me
      .textbox1.left = me.textbox1.left - 5
              me
      .textbox1.width = me.textbox1.width + 5
          
      else
              
      me.textbox1.left = me.textbox1.left + 5
              me
      .textbox1.width = me.textbox1.width - 5
          end 
      if
          
      l = len(txt)
      end sub 
      ممنون از پاسخ دهیتون
      شاید باید نمونه میگذاشتم تا هدفم بیشتر مشخص بشه
      و سوال دیگر اینکه فرمول if شما چرا اصلا وارد محدوده else نمی شود؟
      فایل های پیوست شده

      کامنت

      • rasools13

        • 2017/01/20
        • 360
        • 80.00

        #4
        نوشته اصلی توسط mohamadali110
        ممنون از پاسخ دهیتون
        شاید باید نمونه میگذاشتم تا هدفم بیشتر مشخص بشه
        و سوال دیگر اینکه فرمول if شما چرا اصلا وارد محدوده else نمی شود؟
        این کد زمانی که یک کاراکتر وارد شود اندازه تکس باکس 5 پیکسل بزرگتر شده(ناحیه if) و اگر از backspace استفاده کنید و یک کاراکتر را پاک کنید اندازه تکس باکس 5 پیکسل کوچکتر می شود(ناحیه else)
        حالا شما بایستی عرض اولیه تکس باکس را کوچک در نظر بگیرین
        و یا اگر میخواهین عرض اولیه مثلا 30px داشته باشین بایستی کد بالا را در داخل یک if گذاشته که در صورت تجاوز کردن تعداد کاراکتر ها از یک مقدار خاص فرآیند کوچک و بزرگ شدن تکس باکس انجام شود
        [CENTER][B]بهترین راه ذخیره زمان(یادگیری)،،حل مشکلات دیگران است
        [COLOR=#0000ff]مشکلات دیگران، روزی مشکلات ما هم خواهد شد[/COLOR][/B][COLOR=#ff0000][B][FONT=arial][/FONT][/B][/COLOR]
        [/CENTER]

        کامنت

        چند لحظه..