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, False
    DeleteObject mChildFormRegion
End Sub
و الـحدث QueryUnload يتم قبل الحدث Unload حيث يتم انهاء العمل بجميع الفورم الـ mdi ثم الـ mdiChild بمعنى أوضح أن هذا الحدث هو حدث الضغط على علامة X فى شريط عنوان الفورم ..... و هو يحدث قبل الحدث End
تحريك الفورم عند الضغط على Command0 كما شرحناه فى الفورم الأول

تحريك الفورم عند الضغط على أى مكان فى الفورم كما شرحناه فى الفورم الأول

شكرا لمتابعتكم
أى استفسار لا تتردد بوضع Comment و ان شاء الله فى أقرب وقت تجد الاجابه

VB6 Popular Posts

Visual Basic Online Course - Function Keys (F1 to F12)

Free download Visual Basic 6 Documentation MSDN

VB 0.6 - Save Files Using DialogBox Control