تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طلب حول sstab
#1
هل يمكن تحريك sstab داخل الفورم من خلال السحب و الافلات (وقت التنفيد)
إدا كان نعم أريد مثالاً لذلك

شكر مسبق
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم

تفضل

PHP كود :
Dim SSX As Integer
Dim SSY 
As Integer

Private Sub SSTab1_MouseDown(Button As IntegerShift As IntegerAs SingleAs Single)
SSX X
SSY 
Y
End Sub

Private Sub SSTab1_MouseMove(Button As IntegerShift As IntegerAs SingleAs Single)
If 
Button vbLeftButton Then
SSTab1
.Left SSTab1.Left SSX
SSTab1
.Top SSTab1.Top SSY
End 
If
End Sub 

بالتوفيق .
الرد }}}}
تم الشكر بواسطة:
#3
1000 شكررررر
الرد }}}}
تم الشكر بواسطة:
#4
لدي طلبان الى الاخ ALBRNS او اي اخ معنا في المنتدى

1- كيف ممكن تطبيق هذا الكود اعلاه على لنقل مثلا على 1000 SSTab بحيث اي SSTab اختاره يتنقل الى المكان المراد

2-كيف يطبق نفس الكود على الخط (line)
الرد }}}}
تم الشكر بواسطة:
#5
السلام عليكم

- في المرفقات الطريقة .
- تحياتي .


الملفات المرفقة
.rar   إستخدام الأحدا&#15.rar (الحجم : 2.86 ك ب / التحميلات : 25)
الرد }}}}
تم الشكر بواسطة:
#6
VB_Coder كتب :السلام عليكم

- في المرفقات الطريقة .
- تحياتي .

مشكور للغاية بس تحريك الخط ما عم يزبط معي

آسف لكثرة النق
الرد }}}}
تم الشكر بواسطة:
#7
السلام عليكم...

مشكلة مكون الخط (Line) في VB6 أنه لا يستجيب لأية أحداث!

في المرفقات مكون قمت بتصميمه سنة 2009 و قدمته في مشاركة سابقة - ربما من أيام المنتدى القديم - و هو عبارة عن مكون خط باسم (AccessibleLine) يستجيب لأربعة أحداث أساسية هي: النقر (Click) و MouseDown و MouseUp و MouseMove.

يختلف هذا المكون عن الخط (Line) الموجود في VB6 في أنه ليس له خصائص X1 و Y1 و X2 و Y2، و إنما له خصائص Left و Top و Width و Height، كما أنه له 4 اتجاهات أساسية (الخاصية LineDirection): أفقي ( _ ) و رأسي ( | ) و قطري للأسفل ( \ ) و قطري للأعلى ( / ). و يمكن وصله بين أب نقطتين باستعمال الخصائص الأربعة المذكورة (Left و Top و Width و Height). بالإضافة إلى ذلك فإن له الخصائص التالية:
= الخاصية Cursor: تحدد شكل مؤشر الفأرة من مجموعة قيم محددة مسبقاً (مثل الخاصية MousePointer في VB).
= الخاصية CustomeCursor: لتحديد صورة مخصصة لتكون مؤشر الفأرة (مثل الخاصية MouseIcon في VB. و يجب أن تكون الخاصية Cursor مضبوطة على vbCustom = 99).
= الخاصية DisabledColor: لتحديد لون الخط عندما يكون معطلاً (أي عندما تكون Enabled = False)، و يجب أن تكون الخاصية UseDisabledColor مضبوطة على True.
= الخاصية LineColor: لتحديد لون الخط.
= الخاصية LineSize: لتحديد سمك أو عرض الخط بوحدة البكسل.
= الخاصية UseDisabledColor: لتحديد ما إذا سيتم تطبيق اللون DisabledColor عندما يكون الخط معطلاً.

* ملاحظة: لا تهتم للحجم الزائد للمكون أثناء التصميم (إلا لضبط نهايات الخط) لأن المساحات الزائدة لن تكون جزءاً من الخط أثناء التشغيل.

* المرفق AccessibleLineSource يحتوي على الكود المصدر للمكون مع شرح مفصل بالعربي ضمن الكود.
* المرفق AccessibleLineOCX يحتوي على المكون نفسه (AccessibleLine.ocx) و الذي من المفترض أن يتم نسخه إلى المجلد System32 ثم تسجيله عن طريق الأمر regsvr32 AccessibleLine.ocx .

بعد تسجيله في النظام يمكن تضمينه في VB عن طريق الأمر Components من القائمة Project ثم تحديد البند AccessibleLine (غالباً ستجده في البداية).

* و هذا مثال كود لتحريكه:
كود :
Private StartX As Single
Private StartY As Single

Private Sub TLineWithEvents1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbLeftButton Then
        StartX = X
        StartY = Y
    End If
End Sub

Private Sub TLineWithEvents1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbLeftButton Then
        TLineWithEvents1.Left = TLineWithEvents1.Left + X - StartX
        TLineWithEvents1.Top = TLineWithEvents1.Top + Y - StartY
    End If
End Sub

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


الملفات المرفقة
.rar   AccessibleLineOCX.rar (الحجم : 14.19 ك ب / التحميلات : 20)
.rar   AccessibleLineSource.rar (الحجم : 18.62 ك ب / التحميلات : 21)
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:
#8
شكرا جزيلا للجميع من طارح السؤال و كل المجيبين
الرد }}}}
تم الشكر بواسطة:
#9
ناجي إبراهيم كتب :السلام عليكم...

مشكلة مكون الخط (Line) في VB6 أنه لا يستجيب لأية أحداث!

في المرفقات مكون قمت بتصميمه سنة 2009 و قدمته في مشاركة سابقة - ربما من أيام المنتدى القديم - و هو عبارة عن مكون خط باسم (AccessibleLine) يستجيب لأربعة أحداث أساسية هي: النقر (Click) و MouseDown و MouseUp و MouseMove.

يختلف هذا المكون عن الخط (Line) الموجود في VB6 في أنه ليس له خصائص X1 و Y1 و X2 و Y2، و إنما له خصائص Left و Top و Width و Height، كما أنه له 4 اتجاهات أساسية (الخاصية LineDirection): أفقي ( _ ) و رأسي ( | ) و قطري للأسفل ( \ ) و قطري للأعلى ( / ). و يمكن وصله بين أب نقطتين باستعمال الخصائص الأربعة المذكورة (Left و Top و Width و Height). بالإضافة إلى ذلك فإن له الخصائص التالية:
= الخاصية Cursor: تحدد شكل مؤشر الفأرة من مجموعة قيم محددة مسبقاً (مثل الخاصية MousePointer في VB).
= الخاصية CustomeCursor: لتحديد صورة مخصصة لتكون مؤشر الفأرة (مثل الخاصية MouseIcon في VB. و يجب أن تكون الخاصية Cursor مضبوطة على vbCustom = 99).
= الخاصية DisabledColor: لتحديد لون الخط عندما يكون معطلاً (أي عندما تكون Enabled = False)، و يجب أن تكون الخاصية UseDisabledColor مضبوطة على True.
= الخاصية LineColor: لتحديد لون الخط.
= الخاصية LineSize: لتحديد سمك أو عرض الخط بوحدة البكسل.
= الخاصية UseDisabledColor: لتحديد ما إذا سيتم تطبيق اللون DisabledColor عندما يكون الخط معطلاً.

* ملاحظة: لا تهتم للحجم الزائد للمكون أثناء التصميم (إلا لضبط نهايات الخط) لأن المساحات الزائدة لن تكون جزءاً من الخط أثناء التشغيل.

* المرفق AccessibleLineSource يحتوي على الكود المصدر للمكون مع شرح مفصل بالعربي ضمن الكود.
* المرفق AccessibleLineOCX يحتوي على المكون نفسه (AccessibleLine.ocx) و الذي من المفترض أن يتم نسخه إلى المجلد System32 ثم تسجيله عن طريق الأمر regsvr32 AccessibleLine.ocx .

بعد تسجيله في النظام يمكن تضمينه في VB عن طريق الأمر Components من القائمة Project ثم تحديد البند AccessibleLine (غالباً ستجده في البداية).

* و هذا مثال كود لتحريكه:
كود :
Private StartX As Single
Private StartY As Single

Private Sub TLineWithEvents1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbLeftButton Then
        StartX = X
        StartY = Y
    End If
End Sub

Private Sub TLineWithEvents1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbLeftButton Then
        TLineWithEvents1.Left = TLineWithEvents1.Left + X - StartX
        TLineWithEvents1.Top = TLineWithEvents1.Top + Y - StartY
    End If
End Sub

*** نرجو الاستفادة و السلام.
شكرا لك اخي ناجي ابراهيم
والله فكرتنا بالمنتدى القديم Rolleyesانا صاحب ذالك الطلب من أيام المنتدى القديم Big Grin
الرد }}}}
تم الشكر بواسطة:


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


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