منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] السحب والافلات للماوس - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] السحب والافلات للماوس (/showthread.php?tid=571)



السحب والافلات للماوس - professional sniper - 17-10-13

عيدكم مبارك على جميع المشتركين

ممكن كود للسحب والافلات ملف عن طريق الماوس داخل البرنامج الاحظار مساره ووضعه في اداة ليبل داخل البرنامج وعرضه
والسلام عليكم ورحمة الله وبركاتهHuh


RE: السحب والافلات للماوس - ناجي إبراهيم - 17-10-13

السلام عليكم...

لتجربة الكود التالي:

ضع على الـ Form مكون Label. اجعله عريضاً بعض الشيء (لا يهم ارتفاعه) ثم اضبط له الخصائص التالية:
أ. الخاصية OLEDragMode على 1-Manual.
ب. الخاصية WordWrap على True.
ج. الخاصية AutoSize على True.

* اضبط الخاصية WordWrap قبل الخاصية AutoSize حتى لا يتقلص عرض الـ Label.

في الحدث OLEDragOver للـ Label اكتب الكود التالي:

كود :
If Data.GetFormat(vbCFFiles) Then
        Effect = vbDropEffectCopy And Effect
    Else
        Effect = vbDropEffectNone
    End If

في الحدث OLEDragDrop للـ Label اكتب الكود التالي:

كود :
Dim Idx As Long
    Dim FilesNames As String
    
    If Data.GetFormat(vbCFFiles) Then
        FilesNames = Data.Files(1)
        For Idx = 2 To Data.Files.Count
            FilesNames = FilesNames & vbCrLf & Data.Files(Idx)
        Next Idx
        Label1.Caption = FilesNames
    End If

* شغل البرنامج و اسحب ملفاً واحداً أو أكثر على الـ Label من الـ Windows Explorer. عند الافلات ستظهر مسارات و أسماء الملفات في الـ Label.

* يمكنك تعديل الكود في الحدث OLEDragDrop لمنع قبول أكثر من ملف واحد و ذلك باختبار Data.Files.Count ما إذا كانت أكبر من 1.

* أصبح لديك مسار و اسم الملف في الـ Label و بالتالي يمكنك اختبار نوعه (txt مثلاً) و استعمال جملة Open لفتحه و عرضه في TextBox أو - إذا كان ملف صورة - في PictureBox... إلخ.

نرجو الاستفادة و السلام.