بسم الله الرحمن الرحيم
اخواني الاعزاء في منتدى فيجوال بيسك ، خاصة الاعضاء الجدد و اللذين يريدون تعلم لغة فيجوال بيسك
قمت بكتابة هذا الدرس الذي يتعلق بكيفية عمل مفكره صغيره تشبه notepad المرفقه مع windows
الادوات التي نحتاجها
1- RichTextBox و هي تتمتع بمزايا اضافيه تفوق الاداه الافتراضية Textbox
2- CommonDialog وهي الاداه التي سنستخدمها في حففظ و فتح الملفات الجديده التي سنقوم بانشائها.
ونستطيع الحصول عليهم بالنقر على الرز الايمن للماوس و الضغط على component
و اختيار الادوات السابقه.
في هذا المثال قمت بتسمية اداة صندوق النص(RichTextBox1) بـ Editor
و اداة CommonDialog اختصارا بـ com
تنسيق البرنامج:
سنستخدم الكود التالي حتى يبقى البرنامج متناسقاً عند تغير حجم النافذه بالتصغير و التكبير
الرمز PHP:
Private Sub Form_Resize()
Editor.Top = 30
Editor.Left = 30
Editor.Width = Me.Width - 200
Editor.Height = Me.Height - 800
End Sub
اوامر لائحة ملف
جديد:
الرمز PHP:
Private Sub new_Click()
If sens = 0 Then
Editor = ""
Else
If MsgBox("åá ÊÑíÏ ÍÝÙ ÇáÊÛíÑÇÊ¿", vbQuestion + vbYesNo, "Editor") = vbYes Then
Com.Filter = "ãáÝ äÕí|*.txt|"
Com.FilterIndex = 1
Com.ShowSave
Editor.SaveFile Com.FileName
Editor.Refresh
End If
End If
Editor.Text = ""
End Sub
بالنسبه للمتغير sens فهو متغير قمنا بإنشاءه لنستطيع تحديد اذا ما قام المستخدم بالتعديل على النص ام لا ، و يتم التحكم به عن طريق الاجاء التالي:
الرمز PHP:
Private Sub editor_Change()
sens = 1
End Sub
وسنقوم بإعطاءه قيمة اولية = صفر
فتح:
الرمز PHP:
Private Sub open_Click()
Com.Filter = "ãáÝ äÕí|*.txt|"
Com.FilterIndex = 1
Com.ShowOpen
Editor.FileName = Com.FileName
Editor.Refresh
Me.Caption = "Editor" & "'" & Com.FileTitle & "'"
End Sub
حفظ:
الرمز PHP:
If sens = 0 Then Exit Sub
If MsgBox("åá ÊÑíÏ ÍÝÙ ÇáÊÛíÑÇÊ¿", vbQuestion + vbYesNo, "Editor") = vbYes Then
Com.Filter = "ãáÝ äÕí|*.txt|"
Com.FilterIndex = 1
Com.ShowSave
Editor.SaveFile Com.FileName
Editor.Refresh
sens = 0
End If
اغلاق:
الرمز PHP:
Private Sub close_Click()
If sens = 0 Then
Editor = ""
Else
If MsgBox("åá ÊÑíÏ ÍÝÙ ÇáÊÛíÑÇÊ¿", vbQuestion + vbYesNo, "Editor") = vbYes Then
Com.Filter = "ãáÝ äÕí|*.txt|"
Com.FilterIndex = 1
Com.ShowSave
Editor.SaveFile Com.FileName
Editor.Refresh
End If
End If
Editor.Text = ""
End Sub
خروج:
الرمز PHP:
Private Sub end_Click()
If sens = 0 Then
End
Else
Call close_Click
End
End If
End Sub
في البداية سنقوم باضافة جمله على الاجراء change ليكون كخاصية للبرنامج حتى يبقى اتجاه الكتابه من اليمين.((على اساس ان المحرر الذي نقوم بإنشاءه سيستخدم للنصوص العربية))
الرمز PHP:
Private Sub editor_Change()
Editor.SelAlignment = 1
sens = 1
End Sub
لائحة تحرير:
نسخ:
الرمز PHP:
Private Sub copy_Click()
Clipboard.SetText Editor.SelText
End Sub
قص:
الرمز PHP:
Private Sub cut_Click()
Clipboard.SetText Editor.SelText
Editor.SelText = ""
End Sub
لصق:
الرمز PHP:
Private Sub paste_Click()
Editor.SelText = Clipboard.GetText
Editor.SetFocus
Editor.Refresh
End Sub