منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : طريقة عمل ازرار على صرة من الفوتوشوب
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3


السلام عليكم اولا لقد ارفقت صورة من البرنامج خاصتي لاشرح لكم المشكلة 

ثانيا برنامجي انا قمت بعمل ثيمه له علي الفوتوشوب وبعد الانتهاء قمت بوضعها في البرنامج وشكلها في الاعلي 


الان مشكلتي هي اني اريد عندما اضغط علي 1HD او HD7 او اي HD موجود في برنامجي اريد ان يعمل لي امر معين فهل من اداة 

اضعها فوق اي قناة منهم وتكون مخفية وعند الضغط عليها كانك قمت بالضغط ع القناة وشكرا
تصفح القسم التالي
http://vb4arb.com/vb/forum-86.html
اخي الكريم ارجو منك الاهتمام بعنوان الموضوع لتلقي الاجابة الشافية والكافية

بالنسبة لموضعك بامكانك وضع ليبل في المكان المراد تكون خلفيته شفافه يوفي بالغرض ان شاء الله

يعطيك العافية
لم يجدي نفع الليبول لسببان الاول لانه عندما امسح منه التيكست لايعمل اي امر عندما اضغط عليه وايضا لانه صغير جدا عندما امسح من التيسكت
عزيزي ,حك



ففي حل انك تقص الصورة HD1 , HD2 وتضعها فوق الصورة بحيث ماتبين بستعمتال اداة PictureBox
اخي الكريم ان كنت تريد ان تعمل بطريقة احترافية فيتوجب عليك العمل مع دوال الرسم و معالجة احداث الضغط في اماكن محددة توافق اماكن الازرار
انا افترض ان كل ما على الواجهة هو عبارة عن صورة ثابته 
لذا الحل الوحيد هو اضافة حدث في نقاط محددة توافق مواقع الازرار على الشاشة 
في تصوري لو قمت برسم مستطيل صغير فوق كل زر و بعدها قمت بمعالجة حدث الضغط داخل هذا المستطيل تكون قد وصلت الى المطلوب
طبعا بامكانك المعالجة بطرق اخرى 
وفقا لتصوري
لنقم بتعريف المتغيرات التالية
PHP كود :
   Private rect As Rectangle
    Private pen 
As Pen Pens.Black 

بعدها سنعطي قيم ابتدائية لرسم المستطيل في المكان الصحيح فوق الزر المطلوب مع الحدث الذي نريد التقاطه
PHP كود :
       rect = New Rectangle(4394915823)
 
       AddHandler ClickAddressOf Form2_Click 

بعدها سنقوم برسم المستطيل مع اقلاع النموذج بتجاوز الطريقة الافتراضية للرسم
PHP كود :
   Protected Overrides Sub OnPaint(As PaintEventArgs)
 
       MyBase.OnPaint(e)
 
       e.Graphics.DrawRectangle(penrect)
 
   End Sub 

الان اصبح لدينا مستطيل فوق الزر المحدد كل ما بقي هو معالجة الحدث المسؤول عن الضغط داخل المستطيل
PHP كود :
   Private Sub Form2_Click(sender As ObjectAs EventArgs)
 
       Dim cursorPos As Point Me.PointToClient(Cursor.Position)
 
       If rect.Contains(cursorPosThen
            MessageBox
.Show("Button Clicked")
 
       Else
            MessageBox
.Show("Button Not Clicked")
 
       End If
 
       Invalidate()
 
   End Sub 

عليك فقط ايجاد المواضع الصحيحة للازرار على النموذج و حجمها
بالتوفيق اخي
الحل الأفضل إنك تلغي صور الباتون من الصورة الرئيسية و تقوم بتصميم باتون باستخدام الوراثة بحيث يكون له شكل الصورة وتضعه ف الأماكن التي تريدها علي الصورة و تتعامل معه كما تتعامل مع اي باتون عادي

بشكل عام انت لا تحتاج الي الفوتو شوب لتصمم مثل هذا Themes فكل هذا يمكن تصميمه من خلال الكود و سوف يخرج بشكل أفضل
وهذا سوف يعطيك ميزة التجكم في الالوان و تغييرها
اعمل بالفوتو شوب صور صغيرة باسماء القنوات بس
وحطها على ازرار
و رتب الازار الى بالصور مكان الصور الى فى الصورة
(05-09-16, 05:38 PM)ابو ليلى كتب : [ -> ]اخي الكريم ان كنت تريد ان تعمل بطريقة احترافية فيتوجب عليك العمل مع دوال الرسم و معالجة احداث الضغط في اماكن محددة توافق اماكن الازرار
انا افترض ان كل ما على الواجهة هو عبارة عن صورة ثابته 
لذا الحل الوحيد هو اضافة حدث في نقاط محددة توافق مواقع الازرار على الشاشة 
في تصوري لو قمت برسم مستطيل صغير فوق كل زر و بعدها قمت بمعالجة حدث الضغط داخل هذا المستطيل تكون قد وصلت الى المطلوب
طبعا بامكانك المعالجة بطرق اخرى 
وفقا لتصوري
لنقم بتعريف المتغيرات التالية
PHP كود :
   Private rect As Rectangle
    Private pen 
As Pen Pens.Black 

بعدها سنعطي قيم ابتدائية لرسم المستطيل في المكان الصحيح فوق الزر المطلوب مع الحدث الذي نريد التقاطه
PHP كود :
       rect = New Rectangle(4394915823)
 
       AddHandler ClickAddressOf Form2_Click 

بعدها سنقوم برسم المستطيل مع اقلاع النموذج بتجاوز الطريقة الافتراضية للرسم
PHP كود :
   Protected Overrides Sub OnPaint(As PaintEventArgs)
 
       MyBase.OnPaint(e)
 
       e.Graphics.DrawRectangle(penrect)
 
   End Sub 

الان اصبح لدينا مستطيل فوق الزر المحدد كل ما بقي هو معالجة الحدث المسؤول عن الضغط داخل المستطيل
PHP كود :
   Private Sub Form2_Click(sender As ObjectAs EventArgs)
 
       Dim cursorPos As Point Me.PointToClient(Cursor.Position)
 
       If rect.Contains(cursorPosThen
            MessageBox
.Show("Button Clicked")
 
       Else
            MessageBox
.Show("Button Not Clicked")
 
       End If
 
       Invalidate()
 
   End Sub 

عليك فقط ايجاد المواضع الصحيحة للازرار على النموذج و حجمها
بالتوفيق اخي
طيب اذ كنت اريد ان يكون المستطيل علي hd1 كيف سيكون الكود

(05-09-16, 05:38 PM)ابو ليلى كتب : [ -> ]اخي الكريم ان كنت تريد ان تعمل بطريقة احترافية فيتوجب عليك العمل مع دوال الرسم و معالجة احداث الضغط في اماكن محددة توافق اماكن الازرار
انا افترض ان كل ما على الواجهة هو عبارة عن صورة ثابته 
لذا الحل الوحيد هو اضافة حدث في نقاط محددة توافق مواقع الازرار على الشاشة 
في تصوري لو قمت برسم مستطيل صغير فوق كل زر و بعدها قمت بمعالجة حدث الضغط داخل هذا المستطيل تكون قد وصلت الى المطلوب
طبعا بامكانك المعالجة بطرق اخرى 
وفقا لتصوري
لنقم بتعريف المتغيرات التالية
PHP كود :
   Private rect As Rectangle
    Private pen 
As Pen Pens.Black 

بعدها سنعطي قيم ابتدائية لرسم المستطيل في المكان الصحيح فوق الزر المطلوب مع الحدث الذي نريد التقاطه
PHP كود :
       rect = New Rectangle(4394915823)
 
       AddHandler ClickAddressOf Form2_Click 

بعدها سنقوم برسم المستطيل مع اقلاع النموذج بتجاوز الطريقة الافتراضية للرسم
PHP كود :
   Protected Overrides Sub OnPaint(As PaintEventArgs)
 
       MyBase.OnPaint(e)
 
       e.Graphics.DrawRectangle(penrect)
 
   End Sub 

الان اصبح لدينا مستطيل فوق الزر المحدد كل ما بقي هو معالجة الحدث المسؤول عن الضغط داخل المستطيل
PHP كود :
   Private Sub Form2_Click(sender As ObjectAs EventArgs)
 
       Dim cursorPos As Point Me.PointToClient(Cursor.Position)
 
       If rect.Contains(cursorPosThen
            MessageBox
.Show("Button Clicked")
 
       Else
            MessageBox
.Show("Button Not Clicked")
 
       End If
 
       Invalidate()
 
   End Sub 

عليك فقط ايجاد المواضع الصحيحة للازرار على النموذج و حجمها
بالتوفيق اخي
طيب اذ كنت اريد ان يكون المستطيل علي hd1 كيف سيكون الكود
الامر بسيط اخي ضع اداة ليبل او مربع نص او زر للتجريب فقط
ضعها فوق الزر الذي تريد بحيث تتناسب مع ابعاده ثم خذ القياسات من الخاصية Location و الخاصية Size
بعد معرفة القياسات تخلص من الاداة
الصفحات : 1 2 3