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

بسم الله الرحمن الرحيم
 
وجدت كثيرا من الاعضاء تطلب هذا الموضوع كثيرا  وعندما وضعت  مثال لشاشة دخول بكلمة مرورظهر ليا مشرف كدا كالعادة وقالي البوقين دول
كنت أفضل يكون في موضوع مستقل لأن المشاركات الفرعية تندثر مع الوقت
لما تلاقي نفسك عملت ملف مميز زي كدا .. افتح موضوع جديد واشرح بالتفصيل (مش ترمي الملف وتجري ..) وبعد كدا في المشاركة الفرعية تضع رابط للموضوع ليستفيد أكبر عدد من الأعضاء
إذ أن المتابعين للمشاركات قلة .. ولكن هناك كثر في انتظار الموضوعات الجديدة للتعلم والاستفادة .. متنساش كلامي يا سكر زيادة
 
وانا حبيت اوجه له رسالة من هنا  واقول له  انا بحب الشاي سكر خفيف
المهم حبيبي الغالي فعلا صدق في كلامه  فا نخش في الموضوع وبلاش رغي بقي
اولا نفتح بقي ملف اكسيل  جديد ونخش محرر الاكواد  ونعمل يوزر فورم جديد
ونقوم بوضع  عدد
واحد  ليبل  عشان نتكب فيها كلمة المرور او رمز الحماية  او  أي حاجه في أي حاجه
اثنين تكست بوكس
الاول لكتابة المستخدم داخلها كلمة المرور اللي هيكتبها عند الدخول
الثاني مش مهم لينا  كل لزمته انه كل ما المستخدم يحط رقم  غلط يزود فيه رقم لحد لما يوصل للرقم المحدد لاغلاق البرنامج وتظهر رسالة تقوله GAME OVER
بمعني انه استنفذ كل المحاولات  وجاري اغلاق البرنامج
وواحد كومند   زرار يعني  عشان ندوس عليه للدخول
ز ما احنا شايفين
undefined
وطبعا متنسوش تحطه خلفيه حلوة كدا للفورم دا اهم حاجه عندي اه كله الا الجماليات
وموضوع الجماليات دا نعمله موضوع قريب ان شاء الله بس تكون عندكو لسعه فوتوشوب بس
وطبعا نخلي الخلفية علي وضع الاسترتش اه يعني الصورة تبقي لازقه في الفورم  كيبر تكبر معاه يصغر تصغر معاه  تمام كلنا عارفين الاسترتش كويس
زي ما احنا شايفين
undefined
نيجي بقي للاكواد
اول كود نحطه في  الجينرال بقي اول حاجه
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
Const WS_SYSMENU = &H80000
والكود التاني في حدث تهيئة اليوزر فورم
Private Sub UserForm_Initialize()
    Dim lngWindow As Long, lFrmHdl As Long
    lFrmHdl = FindWindow(vbNullString, Me.Caption)
    lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
    lngWindow = lngWindow And (Not WS_CAPTION)
    Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
   Call DrawMenuBar(lFrmHdl)
End Sub
 toolwindowودول لزوم الفشخرة والمنظره وعشان نقصقص البتاعه دي
undefined
هي الخيارات بتاعتها متاحه في الفيجوال بيسك  عادي
زي كدا 
undefined
ننفض للحته دي 
نخش علي
 الكود اثالث
ودا هيبقي في تنشيط اليوزر فورم
Private Sub UserForm_Activate()
Application.WindowState = xlMaximized
  With Me
 .Height = Application.Height
 .Width = Application.Width
 .Left = Application.Left
 .Top = Application.Top
 End With
End Sub
ايه الكلام دا  
دا ياسيدي  بنقوله كبر لنا البرنامج ملئ الشاشة
    Maximized
    لما تفتح اليوزر فورم زي الشاطر خلي  مقاسات اليوزر فورم زي مقاسات البرنامج
واحنا مكبرين شاشة البرنامج يبقي كدا اليوزر فورم هيبقى كبير زي البرنامج تمام كدا
الكود الرابع
Private Sub CommandButton1_Click()
If TextBox1.Text = "123" Then
Me.Hide
Else
am = am + 1
MsgBox " لقد استخدمت   " & am & "   محاولة من اصل 5  محاولات, vbCritical, "elmalak_elhazen_yasser@yahoo.com"
If am = 5 Then
MsgBox "لقد استنفذت جميع المحاولات"
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End If
End Sub
اكيد دماغكو لفت معايا معلش انا شرحي علي قده استحملوني
دا كود 
بيقول اذا كانت التكست بوكس واحد بتساوي 123
اذن ياعم اخفيني من وشك  ويظهر معاك ملف الاكسيل عادي
طيب اذا ما حصلشي بقي نعمل ايه
تعالا بقي  am  
دي اسم التكست بوكس اتنين بس انا غيرته الى am
 ندوس علي التكست بوكس اتنين ونغيره من هنا 
undefined
ومننساش نخفى التكست بوكس دا من هنا
undefined
واحد فكيك بقي يقول ليه am
اقوله ياناصح دول اول حرف من اسيل واول حرف من محمد  ولادي تمام يامعلم
محدش يشتم ولا يضرب :dance1:
 المهم بقي  ان am
بتساوي نفسها + 1 تمام
اه قبل ما انسى نخلي قيمة am دي 
بصفر نكتب جواها صفر عشان لما يعد يعد من بعد الصفر
يعني كل ما المعلم يدوس غلط يزود رقم واحد وتطلع رسالة تقوله وصلت لكام محاولة
ولما يوصل للمحاولة الخامسة يقوله بالسلامة ياحبي 
انا هقفل وانام
وتمام كدا زي الفل والكلام خدنا والدرس خلص 
شفتوا انتو مش مصحصحين ازاي 
نسينا نحط كود فتح الفورم في حدث فتح الملف

Private Sub Workbook_Open()
UserForm1.Show
End Sub
 وبعدين انا مش هحط امثلة 
زي واحد صاحبي وحبيبي بيقول انكم لازم تتعبوا شوية وتعملوها بنفسكوا بدل ما تخدو كوبي وبست وخلاص
للحديث بقية باذن الله لاستكمال اضافات تانيه
اتمنى من الله ان ينفعكم هذا الشرح 
تقبلو تحياتي 
ياسر العربي
قلت اضيف صورة الكود لكم عشان ميبقاش ليكو حجه
undefined


الإبتساماتإخفاء