تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اداة picture
#1
1- ممكن كود لتوسيط اداة الصور في وسط الفورم
2- ممكن كود لجعل الصورة بحجم الاداة وليس الاداة بحجم الفورم
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم...

1. السؤال الأول حول التوسيط:
* إذا كنت تريد فقط توسيط مكون واحد (مثلاً Picture1) في Form واحدة فاكتب السطرين التاليين في الحدث Form_Resize:
كود :
Private Sub Form_Resize()
    On Error Resume Next
    Picture1.Move (ScaleWidth - Picture1.Width) / 2, (ScaleHeight - Picture1.Height) / 2
End Sub

* أما إذا كنت تريد نفس الأمر مع أكثر من مكون واحد و في أكثر من Form فاكتب الإجراء التالي في Module:
كود :
Public Sub CenterControl(AForm As Form, AControl As Control)
    On Error Resume Next
    AControl.Move (AForm.ScaleWidth - AControl.Width) / 2, (AForm.ScaleHeight - AControl.Height) / 2
End Sub

ثم قم باستدعائه من الحدث Form_Resize للـ Form المعنية، مثلاً:
كود :
CenterControl Me, Picture1
حيث Me تشير دائماً إلى الـ Form التي تستدعي الإجراء.

2. السؤال الثاني حول تكبير الصورة حسب حجم المكون:
* يمكنك استعمال المكون Image مع ضبط الخاصية Stretch على True، حيث ستأخذ الصورة حجم المكون Image مهما غيرت حجمه.
* أما إذا كان من الضروري استعمال المكون PictureBox فضع الصورة في مكون Image مخفي (Visible = False) ثم اكتب الكود التالي في الحدث Paint الخاص بالـ PictureBox:
كود :
Private Sub Picture1_Paint()
    Picture1.PaintPicture Image1.Picture, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight
End Sub

حيث نقوم بنسخ الصورة من الـ Image إلى الـ PictureBox مع تمديدها أو تقليصها حسب حجم الـ PictureBox.

*** للفائدة: يمكننا استعمال الوظيفة PaintPicture لقلب الصورة أفقياً و / أو رأسياً و ذلك باستعمال إحداثيات النهاية كإحداثيات بداية و استعمال قيمة سالبة للأبعاد. مثلاً لقلب الصورة أفقياً:
كود :
Private Sub Picture1_Paint()
    Picture1.PaintPicture Image1.Picture, Picture1.ScaleWidth, 0, -Picture1.ScaleWidth, Picture1.ScaleHeight
End Sub

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



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


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