تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] السحب والافلات للماوس
#1
عيدكم مبارك على جميع المشتركين

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

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

ضع على الـ 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... إلخ.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة: VB_Coder


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم