مشاهده نسخه کامل
: ساخت Insert Text !
چه جوري ميشه يه Insert Text بدون محدوديت مثل Paint ساخت ؟!
منظورم اينه كه كاربر به تعداد دلخواه بتونه نوشته هاش رو روي فرم بسازه.
karbon2010
12-02-2009, 21:55
سلام
من در حال انجام همین کار هستم به چند روش کار کردم اما هربار یک ارور تازه ای می ده
سلام
من در حال انجام همین کار هستم به چند روش کار کردم اما هربار یک ارور تازه ای می ده
يكي از مشكل هاي ديگه اي هم كه هست اينه كه براي ساخت Paint بايد روي يه Canvas كنترل Label رو ايجاد كرد ولي توي وي بي 6 نميشه !!
اون جور كه من ديدم روي PictureBox نميشه اين دستور رو داد.
يه راهي به ذهنم رسيد، كه البته جسارت نميكنم ... شايد شما هم به ذهنتون رسيده باشه.
ولي الان فكر كنم تنها راهي كه براي جلوگيري از اين خطا ممكن هست اينه كه وقتي كاربر روي فرم كليك ميكنه تا تكست رو ايجاد كنه اسم اون رو هم وارد كنه، در اين صورت ديگه اون پيغام خطا رو نميده ... مثل كد زير :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب گيريم كه اين مشكل هم حل شد ولي چه جوري واسه ساخت Paint اون رو روي يك PictureBox اضافه كنيم ؟!!!!!!!!!!!!!!! :18:
البته كد بالا رو بهتره اينجوري بگم، وقتي كاربر خواست نوشته رو روي فرم بزاره، محتويات نوشته اي رو كه ميخواد روي فرم بزار وارد كنه و بعدش برنامه همون محتويات رو به صورت اسم در نظر ميگيره، اين ميتونه راه خوبي باشه ولي متاسفانه باز هم يه مشكلي داره، اسم كنترل نميتونه داراي فضاي خالي باشه بنابراين اگه كاربر بخوا توي محتويات متني كه داره از فضاي خالي استفاده كنه دوباره خطا ميده !!
يا ميشه از يه كلك هم استفاده كرد ... مثلا مختصات محور ايكس رو به صورت رشته در اورد و بعد به جاي اسم ريخت، به نظر من مختصات محور ايكس امكان نداره مساوي با عدد قبليش در بياد. فكر كنم اين راه بهتري باشه.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من اين راه رو تست كردم و هيچ مشكلي نداره. به نظر خودم بهترين راهه.
ولي مطمئنم كه راه بهتري هست، بدون نياز به اين جور كارا.
vb2008 واقعا از اين لحاظ بهتره.
آخه چرا هيچ كي من بدبخت رو كمك نميكنه، تو چند تا انجمن ايراني و خارجي سوالم رو پرسيدم ولي هيچ چي جواب نميده !
karbon2010
13-02-2009, 11:25
سلام
ممنون دستت درد نکنه
اما اگه اجازه بدهی من یه راه کار دیگری به مطالب شما اضافه می کنم البته مطلب شما کاملا درست است اما ممی گم که به عوض
مقدار x می تونی از دستور اعداد تصادفی استفاده می کنیم یعنی اینکه اول ما یک عدد تصادفی تولید می کنیم و بعد ان را بجای x قرار بدهیم
private sub form_mouseup(button as integer, shift as integer, x as single, y as single)
dim thename as string
dim thecaption as string
dim a
randomize
a = int(rnd * 10000000000000#)
thecaption = a
thename = "thename" & a
dim thetext as textbox
set thetext = me.controls.add("vb.textbox", thename)
with thetext
.visible = true
.text = thecaption
.left = x
.top = y
end with
end sub
دلیل اینکه این کار را انجام دادم این بود که
1- شما InputBox راحذف کن و به عوضش "" بگذار تا سریع تر بتونی تولید کنی که من بجای آن a گذاشتم
2- بعضی مواقع بدلیل تشابه X برنامه ارور نام می دهد که من بجای ان a تولید کردم که میزان تشابه اسمی یک به 10000000000000 باشد
البته باز هم می توانی ساده تر هم بکنی
خوب ... مشكل من ديگه حل شد !!!
خيلي خوشحالم، خودم نشستم فكر كردم و بلاخره مشكلم حل شد.
از شما دوست عزيز هم متشكرم بابت كمكت.
karbon2010
13-02-2009, 11:50
سلام
خوشحالم که تونستم کمکت کنم
مثل اين كه الان يه مشكل خيلي خيلي گنده تر دارم.
يه InsertText ساختم ولي وقتي ميخوام كاربر عكس ويرايش شده رو ذخيره كنه نوشته ها ذخيره نميشه !!
چون برنامه به عنوان متن روي پيكچر باكس نميشناسه.
كسي ميتونه كمك كنه ؟
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.