تقييم الموضوع :
  • 2 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
تحريك المكونات و تغيير حجمها أثناء التشغيل
#1
السلام عليكم...

في المرفقات وحدتان نمطيتان (Class Modules) من أجل القيام بتحريك الكائنات و تغيير حجمها أثناء التشغيل. و الوحدتان هما: CChangeableControlHolder.cls و CChangeableControlManager.cls

الوحدة CChangeableControlHolder.cls هي التي نتعامل معها في برنامجنا، أما الوحدة CChangeableControlManager.cls فإنها تستعمل داحلياً بواسطة الوحدة الأولى.

المكونات المدعومة حالياً هي TextBox و PictureBox و Image و Label و CommandButton و Frame و ListBox (و يمكن طبعاً إضافة مكونات أخرى بتتبع الكود في الوحدة CChangeableControlManager.cls و الزيادة عليه - الكود سهل و واضح).

* للاستعمال في المشروع:
1. أضف الوحدتين المرفقتين إلى المشروع.
2. في النافذة المحتوية على المكونات المطلوب تحريكها و تغيير حجمها نصرح في القسم العام على متغير من النوع CChangeableControlHolder كما يلي:
كود :
Private ControlHolder As New CChangeableControlHolder

3. في إجراء الحدث Load للـ Form نضيف الكائنات التي نريد تحريكها و تغيير حجمها باستعمال الوظيفة AddControl للكائن CChangeableControlHolder، مثلاً:
كود :
ControlHolder.AddControl Me, Picture1
    ControlHolder.AddControl Me, Picture2
    ControlHolder.AddControl Me, Text3
    ControlHolder.AddControl Me, Text4
    ControlHolder.AddControl Me, Frame1
    ControlHolder.AddControl Me, Image1

فقط! شغل البرنامج و ابدأ بالتحريك و تغيير الحجم.

*ملاحظات:
1. أثناء التشغيل، و عند النقر بالزر الأيسر على كائن مضاف إلى قائمة الكائنات المطلوب تحريكها و تغيير حجمها فإنه سيظهر مقبض تحجيم عند الزاوية العلوية اليسرى للكائن و مقبض آخر عند الزاوية السفلية اليمنى.
2. يمكن إخفاء مقابض التحجيم بالنقر على المكون بالزر الأيمن.
3. يمكن أيضاً إخفاء مقابض التحجيم باستدعاء الوظيفة HideResizeHandles للكائن CChangeableControlHolder، مثلاً من خلال إجراء الحدث LostFocus للمكون:
كود :
Private Sub Picture1_LostFocus()
    ControlHolder.HideResizeHandles Me, Picture1
End Sub

4. كذلك يمكن إزالة مكون من القائمة باستعمال الوظيفة RemoveControl للكائن CChangeableControlHolder، مثلاً:
كود :
Private Sub Command1_Click()
    ControlHolder.RemoveControl Me, Text1
End Sub

5. لاحظ أن الوظائف الثلاث تحتاج إلى اسم الـ Form (كلمة Me في الأمثلة السابقة تشير إلى الـ Form الحالية)، و اسم المكون المقصود.

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



الملفات المرفقة
.rar   MoveAndResize.rar (الحجم : 2.09 ك ب / التحميلات : 308)
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
#2
السلام عليكم

- مشكور جزاك الله خير أخي ناجي . إبداع كالعاده , كود مرتب و منسق ومكتوب بإحترافيه . مفيد جدا .

- تحياتي لك .
كود :
For each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}}
تم الشكر بواسطة: ناجي إبراهيم , allayl
#3
مشكور اخوي ناجي على هذا المثال الرائع
جزاك الله خير
استغفر الله العظيم واتوب اليه  Heart
الرد }}}}
تم الشكر بواسطة:
#4
جزاك الله خير مثال حلو جدا
جعله الله في ميزان حسناتك
اعز الناس واعز معلمين :
1)   sniper.ps
2) Ahmed_Mansoor
3) myalsailamy
4) ahmedabdelaliem الله يحفظهم 
الرد }}}}
تم الشكر بواسطة:
#5
شكرا اخى وبارك الله فيك موضوع جميل جدا ونفسى فى طريقة التحريك بشروط مثل برامج تعليم الاطفال
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تغيير باسورد قاعدة بيانات الأكسس بالكود Ahmed_Mansoor 2 322 26-03-16, 03:58 PM
آخر رد: rohaem
  تسجيل البرنامج في الرجستري ليعمل مع بدء التشغيل أبو عمر 0 315 25-09-15, 05:32 PM
آخر رد: أبو عمر
  [سؤال] كود تغيير لون command عند مرور مؤشر الفأرة عليه m-kaylani 6 2,131 19-03-14, 04:44 PM
آخر رد: العيد1403

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


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