ورود

View Full Version : نوشتن متن در picture box



کم حوصله
دوشنبه 03 شهریور 1382, 01:31 صبح
سلام
من می خواهم متنی را در پیکچر باکس وارد کنم
یعنی در اصل من یک فایل عکس دارم می خواهم در پیکچرباکس بازش کنم و متنی را به آن اضافه کرده و داخل آن قرار دهم :wink:
حال چگونه می توانم این کار را انجام دهم :( :?:
(vb6)

Abbas Arizi
دوشنبه 03 شهریور 1382, 01:59 صبح
میتونید از دستور Print در VB استفاده کنید. همچنین اگر نیاز به امکانات بیشتر مثل تنظیم تراز متن و ... داشته باشید میتونید از تابع DrawText از توابع API استفاده کنید. اگر توضیح بیشتری لازم بود، در خدمت هستم.

Abbas Arizi
دوشنبه 03 شهریور 1382, 11:47 صبح
برای استفاده از دستور Print به این شیوه عمل کنید:

Picture1.Print "My Text"

برای استفاده از API

Option Explicit
Private Declare Function DrawText Lib "user32.dll" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
Private Declare Function SetRect Lib "user32.dll" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Private Const DT_SINGLELINE As Long = &H20

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Sub Form_Load()
Dim rct As RECT

SetRect rct, 0, 0, Picture1.Width / Screen.TwipsPerPixelX, Picture1.Height / Screen.TwipsPerPixelY

DrawText Picture1.hdc, "My Text", -1, rct, DT_SINGLELINE
End Sub


قبل از انجام هر کدوم از این کارها تنظیم ویژگی Autoredraw در PictureBox به True رو فراموش نکنید

(سیدشریفی)
سه شنبه 04 شهریور 1382, 09:08 صبح
با سلام
شما میتوانید از یک <span dir=ltr>Label</span> در داخل <span dir=ltr>Picturebox</span> استفاده نمایید و خاصیت <span dir=ltr>BackStyle</span> آن را <span dir=ltr>Transparent</span> قرار دهید حال هرچه در داخل <span dir=ltr>Label</span> بنویسید بر روی تصویر دیده خواهد شد و موقعیت نوشته را هم براحتی میتوانید تغییر دهید

کم حوصله
سه شنبه 04 شهریور 1382, 23:50 عصر
با سلام
شما میتوانید از یک <span dir=ltr>Label</span> در داخل <span dir=ltr>Picturebox</span> استفاده نمایید و خاصیت <span dir=ltr>BackStyle</span> آن را <span dir=ltr>Transparent</span> قرار دهید حال هرچه در داخل <span dir=ltr>Label</span> بنویسید بر روی تصویر دیده خواهد شد و موقعیت نوشته را هم براحتی میتوانید تغییر دهید

:P :shock:
شریفی جون یک چی میگی ها :shock:
بابا مگه من یک رکورد دارم که بیام اطلاعاتشو تو لیبل پر کنم
در ضمن آقای عریضی واقعا دمت گرم وممنون
مشکلم حل حل شد
مرسی خیلی باحالی
فقط یک سئوال داشتم
این توابع api رو چه جوری می توانم ازش استفاده کنم آیا مرجعی که یاد بده نحوه استفاده ازشو سراغ داری
اصلا خودتون چه جوری اینقدر عالی مسلط شدین بهش به ما هم بگید دیگه اینقدر مزاحمتون نشیم :oops:
با تشکر

(سیدشریفی)
چهارشنبه 05 شهریور 1382, 09:53 صبح
آقای کم حوصله
شاید شما متوجه حرفهای بنده نشده باشید
منظور من این است که شما میتوانید هر جمله ای را که میخواهید بر روی تصویر دیده شود در خاصیت <span dir=ltr>Caption</span> یک <span dir=ltr>Label</span> قرار دهید
مثلا همانند سطر آخر برنامه آقای عریضی که جمله <span dir=ltr>My Text</span> را در داخل گیومه ها برای چاپ قرار داده اند
شما برای اینکار از کد </span>Label1.Caption="My Text"<span dir=ltr>
میتوانید استفاده نمایید
منظور من راهنمایی بود و بس اگر کد آقای عریضی مورد توجه شما میباشد میتوانید از آن استفاده نمایید
این را هم بگویم که من خودم در مطالب آقای عریضی چیزهای خوبی را یاد گرفته ام
با تشکر
:roll: </span>

کم حوصله
چهارشنبه 05 شهریور 1382, 10:55 صبح
:(
بابا آقای شریفی چرا بهتون برخورد
اولا من که نمی دونم کاربر چند تا نوشته می خواهد روی فایل عکسش داشته باشد تا براش label بگذارم به ان تعداد
دوما این کار شما من را وادار می کند یک بانک اطلاعاتی را هم ایجاد کنم چون نوشته های روی عکس باید ذخیره شود و هرموقع که فایل باز شد همرا ه آن نوشته آن هم باز شود در ثانی باید محل قرار گرفتن آن label هم را ذخیره کنم
سوما اگر فایل عکس در جایی دیگر باز شود ( در نرم افزار های دیگر) که دیگر نوشته های کاربر را ندارد که :oops:
و n مورد دیگر
پس با تمام این تفاضیل قبول کن که راه حل شما یکم خیلی غیر منطقی بوده :wink:
ولی با این همه واقعا ممنونم که وقت گذاشتی و به این حقیر کمک کردی :oops:
اشاا... جبران کنم اگر در توانم باشه :oops:

Abbas Arizi
چهارشنبه 05 شهریور 1382, 11:42 صبح
اول: از لطف و محبت کم حوصله جان تشکر میکنم.
دوم: برای هر کاری ممکنه راهها و روشهای مختلفی وجود داشته باشه که هرکس طبق اون سلیقه و ایده خودش از هر کدوم که بهتر باهاش کنار بیاد استفاده میکنه. (ضمن اینکه روشهای استاندارد و پذیرفته شده رو نباید از یاد ببره)
سوم اینکه برای فراگیری توابع API تنها مرجعی که من استفاده کرده ام فقط و فقط MSDN بوده وبس. ضمن اینکه وقتی یه مقدار با این توابع ور برید کم کم روال کار خیلی از اونها دستتون میاد.