..:: مغز کامپیوتر ::..
کلید رهایی از تاریکی
درباره وبلاگ



مدیر وبلاگ : علی عبدیان
مطالب اخیر
نویسندگان
نظرسنجی
شما بیشتر به چه نوع مطلبی علاقه دارید ؟








فرض كنید بخواهیم برنامه ای بنویسیم كه ظاهری شبیه آنچه در شكل 9 میبینید داشته باشد. و بتوانیم تصویر داخل PictureBox مبداُ (سمت چپ) را بوسیله Drag & Drop به PictureBox مقصد (سمت راست) منتقل كنیم.

شکل 9

ابتدا دو PictureBox (كه كنترل آن در ToolBox به شكل    می باشد) را در مكانهای خود قرار داده و مشخصه Name آنها را picSource و picTarget می گذاریم. برای نمایش متنی كه در پایین شكل 9 می بینید نیز می توانیم از یك Label استفاده كنیم.

ها دارای مشخصه ای به نام Picture هستند كه بوسیله آن میتوانیم یك تصویر را در آن قرار دهیم. اگر بخواهیم این مشخصه را در زمان طراحی (Design Time) تنظیم نماییم، كافیست بر روی نام این مشخصه در پنجره Properties، دابل كلیك نماییم، یك پنجره محاوره ای باز می شود كه می توانیم تصویر مورد نظرمان را بیاوریم و آن را انتخاب كنیم. (پنجره‌ای مانند پنجره های Open در ویندوز). اما اگر بخواهیم آن را در زمان اجرا (Run Time) تنظیم نماییم، باید این مشخصه را برابرتابع loadPicture( ) قرار دهیم كه مسیر و نام تصویر مورد نظر به عنوان پارامتر این تابع قرار می‌گیرد.  . اگر در پارامتر این تابع چیزی قرار نگیرد، مشخصه Picture را خالی می كند یعنی PictureBox مورد نظر را (در صورتی كه دارای تصویر بوده) بدون تصویر می كند.

حال مشخصه Picture از picSource را (در زمان طراحی) به تصویر دلخواه مورد نظر خود تغییر دهید و در واقع یك تصویر را در آن قرار دهید. شایان ذكر است كه می توانید تصاویر فراوان مناسبی را مسیر Visual Studio>Common>Graphics دستگاه خود (در داخل مسیری كه برنامه Visual Studio را در آن نصب كرده اید)، بیابید.

به سراغ برنامه خود برویم، تا اینجا ظاهر (Interface) برنامه را ایجاد كردید. حال لازم است به كدنویسی برای آن بپردازیم. ولی قبل از آن توضیح در مورد چند رویداد را ضروری می دانم كه عموما غالب كنترلهای VCL دارای این رویدادها می باشند:

رویداد MouseDown : زمانی برای یك VCL رخ می دهد كه دكمه ای از ماوس را روی آن VCL فشار دهیم.
رویداد MouseUp : زمانی برای یك VCL رخ می دهد كه دكمه زده شده از ماوس را رها كنیم.
رویداد MouseMove : زمانی برای یك VCL رخ می دهد كه نشانگر ماوس را بر روی آن حركت دهیم.
رویداد DragOver : زمانی برای یك VCL رخ می دهد كه VCL دیگری كه در حال Drag شدن است را بر روی این VCL بیاوریم.
رویداد DragDrop : زمانی برای یك VCL رخ می دهد كه VCL دیگری كه در حال Drag شدن است را بر روی این VCL، Drop (رها) نماییم.

حال كه با این رویدادها آشنا شدیم، كافیست كدهای زیر را در یونیت این فرم داشته باشیم:

Option Explicit

 Private Sub picSource_MouseDown (Button As Integer,Shift As Integer,x As Single,y As Single)

            picSource.Drag vbBegineDrag

End Sub

  Private Sub picTarget_DragDrop (Source As Control)

          PicTarget .Picture = picSource.Picture

          picSource.Picture = loadPicture( )

End Sub

توجه داشته باشیم كه وقتی رویداد MouseDown برای picSource روی می دهد، توسط متد Drag از picSource (یعنی توسط picSource.Drag) و به همراه پارامتر VbBeginDrag برای آن، عمل Drag آغاز می شود و در صورتی كه عمل Drop شدن روی picTarget صورت بگیرد (یعنی اگر رویداد DragDrop برای آن رخ دهد)، تصویر داخل picSource به داخل picTarget منتقل می شود (بوسیله دستور picTarget.Picture = picSource.Picture) و سپس تصویر داخل picSource (بوسیله دستور ()picSource.Picture = loadPicture ) حذف می شود.

و بالاخره آخرین تذكری كه در اینجا داده می شود اینكه مشخصه Picture برای PictureBoxها مشخصه پیش فرض  (Default) می باشد و لذا مثلا بجای pictarget.picture می‌توان از pictarget نیز استفاده كرد.







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


آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic