PDA

View Full Version : سوال: ریسایز شدن یک تکست باکس درحالت اجرا با رویداد MouseDown



nazanin_90
چهارشنبه 12 تیر 1392, 18:42 عصر
سلام
آیا با کد نویسی میتوان یک تکست باکس را با پائین نگه داشتن موس در حالت اجرای فرم (نه در حالت دیزاین) را ریسایز ( کوچک یا بزرگ نمودن از نظر طولی و عرضی ) نمود.
باتشکر

mehran901
چهارشنبه 12 تیر 1392, 20:30 عصر
سلام
آیا با کد نویسی میتوان یک تکست باکس را با پائین نگه داشتن موس در حالت اجرای فرم (نه در حالت دیزاین) را ریسایز ( کوچک یا بزرگ نمودن از نظر طولی و عرضی ) نمود.
باتشکر

اره میشه ... من ی چیز سریع نوشتم که کلیت کار دستت بیاد خواستی نرم تر تکست باکست تغییر سایز بده باید از api استفاده کنی ، ( تو نت سرچ بزنی راحت بدست میاریش ) و مختصات وقتی که موس تو تکست باکس هست رو هم نسبت به فرمت داشته باشی از مختصات خود تکستباکس هم استفاده نکن چون فرق داره باید مبنای مختصاتت مختصات فرم باشه

ی تکست باکس بذار رو فرم اینم رو کپی کن :
بعد برو تو تکست باکس ی کلیک بکن و موس رو جا به جا کن رو صفحه

Option Explicit


Private Type point
xx As Long
yy As Long
End Type

Dim a As point
Dim button1
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

a.xx = X
a.yy = Y
If button1 = 1 Then

Text1.Height = a.yy
Text1.Width = a.xx

End If
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
button1 = Button


If button1 = 1 Then

Text1.Height = a.yy
Text1.Width = a.xx
End If
End Sub

nazanin_90
چهارشنبه 12 تیر 1392, 23:23 عصر
اره میشه ... من ی چیز سریع نوشتم که کلیت کار دستت بیاد خواستی نرم تر تکست باکست تغییر سایز بده باید از api استفاده کنی ، ( تو نت سرچ بزنی راحت بدست میاریش ) و مختصات وقتی که موس تو تکست باکس هست رو هم نسبت به فرمت داشته باشی از مختصات خود تکستباکس هم استفاده نکن چون فرق داره باید مبنای مختصاتت مختصات فرم باشه

ی تکست باکس بذار رو فرم اینم رو کپی کن :
بعد برو تو تکست باکس ی کلیک بکن و موس رو جا به جا کن رو صفحه

Option Explicit


Private Type point
xx As Long
yy As Long
End Type

Dim a As point
Dim button1
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

a.xx = X
a.yy = Y
If button1 = 1 Then

Text1.Height = a.yy
Text1.Width = a.xx

End If
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
button1 = Button


If button1 = 1 Then

Text1.Height = a.yy
Text1.Width = a.xx
End If
End Sub



سلام
از شما عذر خواهی میکنم ، من اشتباهاً بجای لیبل (lable) به تکست باکس اشاره کرده ام .خدمت شما عرض کنم من میخواهم وقتی اشاره گر موس را بر روی لبه یک لیبل قرار دادم با پائین نگه داشتن موس لبه لیبل را بکشم و به این صورت آن را کوچک و بزرگ نمایم(بیشتر از نظر عرضی)ودرحال کشیدن لبه لیبل اشاره گر موس بشکل آی انگلیسی(I) درآید.
با تشکر

mehran901
پنج شنبه 13 تیر 1392, 01:27 صبح
سلام
از شما عذر خواهی میکنم ، من اشتباهاً بجای لیبل (lable) به تکست باکس اشاره کرده ام .خدمت شما عرض کنم من میخواهم وقتی اشاره گر موس را بر روی لبه یک لیبل قرار دادم با پائین نگه داشتن موس لبه لیبل را بکشم و به این صورت آن را کوچک و بزرگ نمایم(بیشتر از نظر عرضی)ودرحال کشیدن لبه لیبل اشاره گر موس بشکل آی انگلیسی(I) درآید.
با تشکر
خب مگه با این فرقی میکنه ؟ دقیقا مشابه این کارو باید انجام بدین ... ولی با این تفاوت که اگه خواستین دقت کار خوبی داشته باشین توصیه میشه از api جهت بهدست آوردن مختصات لحظه ای موس روی فرم استفاده کنین چرا که وقتی موس روی لیبل هم هست مختصات رو دارین ، ( و توصیه نمیشه از مختصات موس مو لیبل استفاده کنین چرا که مبنای مختصاتی فرق میکنه ... مثلا ممکنه رو لیبل مختصات ایکس 50 باشه ولی در اون نقطه مختصات فرم 150 باشه ... )

درکل برنامه کلی رو ببینین و مطابق نیازتون تغییراتی اعمال کنین

program2vb
پنج شنبه 13 تیر 1392, 11:04 صبح
سلام
آیا با کد نویسی میتوان یک تکست باکس را با پائین نگه داشتن موس در حالت اجرای فرم (نه در حالت دیزاین) را ریسایز ( کوچک یا بزرگ نمودن از نظر طولی و عرضی ) نمود.
باتشکر


سلام بفرما اینم یه سورس که محمد داداشم ( justforvb (http://barnamenevis.org/member.php?188333-justforvb) )نوشتن ..... که برای دیزاین هست یعنی هم میتونی جابه جا کنی و هم میتونی اندازشون رو تغییر بدی ......

امیدوارم بدردت بخوره ..... موفق و پیروز باشی در پناه خدا ..... یاعلی ....