Visual Basic Online Course - Round and Transparent Form Part 3
أكواد شاشة frmShapedForm
تعريف متغير mChildFormRegion نوعه Long
- أكواد الحدث Form_Load :
تعريف المتغير i
تحديد خصية WindowState للفورم كى تكون vbNormal
قيمة الـ TextBox .
جملة شرط .....
mShape هو متغير عرفناه فى الموديول سابقا Integer و تحدد قيمته فى الفورم الاولى frmTranspForm فى الـ Command4 حيث يعبر عن قيمة شكل الفورم ... و هنا جملة الشرط :
- اذا كان mShape = صفر .... اى اذا كان الزر المضغوط عليه هو Index = 0 للـ Command4 باسم Shape1- نفذ على التوالى الاتى ... (x,y) هما الجزء العلوى على اليسار و هما الجزء السفلى على اليمين و حذف الطول و العرض !!
- المتغير mChildFormRegion الذى تم تعريفه فى General Declaration لهذه الفورم و نوعه Long يساوى قيمة الداله CreateRoundRectRgn و هى داله تم شرحها فى الموديول و وظيفتها عمل منطقة مستطيله دائرية الاطراف و معاملاتها هى نفس معاملات الداله CreateRectRgn التى تم شرحها فى الفورم الأولى ... حيث :
- الركن العلوى الأيسر = 0
- الركن السفلى الايسر = 0
- الركن العلوى الايمن = العرض \ xp (حيث xp هو قيمة الـ Pixel للشاشه بالعرض)
- الركن السفلى الايمن = الطول \ yp (حيث yp هو قيمة الـ Pixel للشاشه بالطول)
و اذا كان mShape = 1 فان :
- يقوم بتنفيذ الدالة CreateEllipticRgn
و اذا كان mShape = أى رقم اخر فان :
- i يساوى (عرض الفورم \ عرض الشاشة - طول الفورم \ طول الشاشة) \ 2
- و المتغير mChildFormRegion = الداله CreateEllipticRgn و التى تم الحديث عنها سابقا فى الموديول بالتفصيل ولها نفس معاملات الداله السابقه ... و تجعل الفورم اكثر استدارة و لاحظ بنفسك .
- انتهاء جملة الشرط .
- الداله SetWindowRgn كما شرحناها فى السابق .
- انتهاء الحدث Form_Load
Private Sub Command1_Click()Unload Me
End Sub
الخروج من الشاشة الحاليه Exit
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)SetWindowRgn Me.hwnd, 0, FalseDeleteObject mChildFormRegion
End Sub
و الـحدث QueryUnload يتم قبل الحدث Unload حيث يتم انهاء العمل بجميع الفورم الـ mdi ثم الـ mdiChild بمعنى أوضح أن هذا الحدث هو حدث الضغط على علامة X فى شريط عنوان الفورم ..... و هو يحدث قبل الحدث End
تحريك الفورم عند الضغط على Command0 كما شرحناه فى الفورم الأول
تحريك الفورم عند الضغط على أى مكان فى الفورم كما شرحناه فى الفورم الأول
شكرا لمتابعتكم
أى استفسار لا تتردد بوضع Comment و ان شاء الله فى أقرب وقت تجد الاجابه
انتهى الموضوع بحمد الله
♥ Visual Basic 6.0 Course Online :
- Automate MS-Access Database in Visual Basic 6.0 though a network
- Visual Basic 6.0 Analog Clock
- Visual Basic 6.0 Temperature Convertor
- Visual Basic 6.0, MS-Access 2003 and Crystal Reports - Phone book
- Visual Basic 6.0, MS-Access 2003 Database and DataGridView
- Visual Basic 6.0 FTP full application source code
- Visual Basic 6.0 Color Picker tool source code
- Visual Basic 6.0 Tree-View Control lesson (Part1 - Part 2 - Part3 - Part4 - Part5) Arabic.
- Visual Basic 6.0 - Introduction to Graphics (Part1 - Part2 - Part3)
- Visual Basic 6.0 and MS-Excel 2003 tutorials (Part1 - Part2 - Part3 - Part4 - Part5 - Part6)