رفتن به مطلب
  • 0

مشکل در ارتفاع لیبل و پنل


shahab.msb

سوال

سلام من تعدادی تکست طولانی رو ازبانک میخونم و در مولتی پتل لود میکنم و کد زیر رو نوشتم تا اگه تکست طولانی دااشته باشم ارتفاع لیبل رو با ارتفاع پنل یکی کنم ولی متاسفانه یه مشکل کوچیک داره که اگه سایز لیبل رو زیاد تر کنم ارتفاع لیبل و پنل برابر نمیشه خواهشا دوستان منو راهنمایی کنید اینم کدی که من نوشتم :

Dim st As Int=3%y

Dim su As StringUtils

کد:


[center][color=#333333][font=Tahoma]Dim p As Panel
("")p.Initialize
("p.LoadLayout("tmpsm
(scv.Panel.AddView(p,0,st,100%x,100%y
( "lmatn.Text = c.getString("sms
(lmatn.Height =su.MeasureMultilineTextHeight(lmatn,lmatn.Text
prnt.Height=lmatn.Height+17%Y
st=st+lmatn.Height+18%Y
[/font][/color][/center]


[/font][/color][/right]

[center][color=#333333][font=Tahoma][color=#333333]scv.Panel.Height=s


لطفا بگید چه کدی اضافه کنم تا اگه سایز لیبل رو زیاد تر یا کمتر کنم ارتفاع لیبل و ارتفاع پنل برابر باشن[/color][/center]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام و خسته نباشید

برای این کد باید کدوم کتابخونه رو فعال کنیم !!

ht=art(text,label1,myfont,25)
    
p1.Height=ht+70dip
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

شما از این تابع برای همسان سازی متن با لیبل استفاده کنید :

Sub art(txt As String,leb As Label,font As Typeface,size As Int) As Float
Dim before,after As Float
   Dim Obj1 As Reflector
       leb.text=txt
       leb.TextSize=size
       leb.Gravity=Gravity.CENTER
       leb.Left=leb.Left
       leb.Typeface=font
   ht = StrUtil.MeasureMultilineTextHeight(leb , txt)
           Obj1.Target = leb  
           before = Obj1.RunMethod("getLineHeight")    'Get the height of line BEFORE you change it
           Obj1.Target = leb 
           Obj1.RunMethod3("setLineSpacing", .10, "java.lang.float", 1.5, "java.lang.float")  'Change the space between lines
           Obj1.Target = leb 
           after = Obj1.RunMethod("getLineHeight")    'Get the height of line AFTER  you change it
           ht = ((after * ht)/before)
       leb.Height = ht
Return  ht

End Sub

و شما بیا این کد رو قرار بده :

scv.Panel.AddView(p,0,st,100%x,90dip)

و ازتفاع پنل هم به این شکل :

    ht=art(text,label1,myfont,25)

   p1.Height=ht+70dip

تست کنید ببینید به نتیجه میرسید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...