طارق موسى

الأداة Text Box

9 ردود في هذا الموضوع

من خصائص الأدة Text Box ( مربع النص )

هذه فائدة للمبتدئين

الخاصية Appearance ويقصد بها شكل الظهور وويمكن ان تاخذ قيمتان

الاولى 0 وتعطي شكل مسطح للاداة و 1 تجعل الأداة دات شكل ثلاثي الأبعاد

حاول تغييرها من مربع الخصائص وانظر الفرق :)

الخاصية BackColor لون الخلفية ويمكن منها تغيير لون خلفة الأداة بأي لون مناسب

الخاصية BorderStyle نمط الحدود ولها قيمتان 0 بدون حدود و 1 لها حدود

الخاصية HideSelection اخفاء التحديد ولها قيمتان True لتخفي التحديد

و false لأ تخفي التحديد !! والسوال اي تحديد نضع اكثر من اداة على الفورم ونكتب الوكد التالي


Private Sub Text1_GotFocus()
هذا الجزء من البرنامج يقوم بتحديد اي نص موجود في مربع نص
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
End Sub

وجرب وضع اكثر من اداة مربع نص وغير الخاصية HideSelection في احداها True وفي اخرى false

الخاصية CausesValidation تسمح لك بالتحقق من صحة البيانات ام لا ولها قيمتان true و False ولها علاقة

بالحدث Validate ومثلا لو كنا نريد ان لا يتم ادخال إلا ارقام فقط في مربع النص نكتب الكود التالي ونغير هذه

الخاصية من مربع الخصائص مرة الى True ومرة False ونراقب الفرق على ان نجرب قيم الادخال نصية مرة ورقيمة مرة.


Private Sub Text1_Validate(Cancel As Boolean)
If Not IsNumeric(Text1.Text) Then
MsgBox "النص الذي ادخلته ليس رقما يجب ادخال رقم"
Cancel = True
End If
End Sub

الخاصية Enabled تمكين وعدم التمكين لمربع النص غير كل مرة قيمتها من True الى false ولاحظ الفرق

الخاصية Locked خاصية القفل هذه الخاصية لها قيمتان True حيث تمنع المستخدم من الكتابة في مربع النص

او التعديل فيه و False وهي الافتراضية وتتيح للمستخدم امكانية ادخال نص او تغير نص في مربع النص

الخاصية MaxLength اقصى طول لو اردنا ان نحدد اقصى طول يدخله المستخدم في مربع النص فما عليك سوى

استعمال هذه الخاصية والتي ستمنعه من ادخال اي نص اطول من القيمة المحددة ، ولو كانت القيمة =0 صفر

وهي الافتراضية ان عدد الحروف المدخلة غير محدد.

الخاصية MultiLine خاصية تعدد الأسطر لها قيمتان true ويمكن ان الكتابة في مربع النص اكثر من سطر

و false وهي الافتراضية لا يمكن الكتابة في مربع النص سوى سطر واحد فقط

الخاصية RightToLeft اليمين الي اليسار وهي تدعم اللغة العربية واسمها يدل على معناها :)

الخاصية ScrollBars خاصية اشرطة التمرير لها اربع قيم اعتقد انها واضحة ولكن المهم ان لها علاقة بالخاصية multiline

الخاصية TabIndex ترتيب الاداة في الفورم بحيث ينتقل مواشر الكتابة الى هذه الادوات عند الضغط على مفتاح Tab

وفق لترتيبها في الفورم وتكون قيمة الترتيب في هذه الخاصية ولذا انصح بشدة بعد الانتهاء من تصميم الشاشة

ان ناخد بعين الاعتبار ترتيب تنقل موشر الكتابة على الفورم وتعديل قيم هذه الخاصية وهي مهمة جدا.

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

الخاصية Visible مرئي وغير مرئي وهي تقوم بعرض واخفاء الاداة اثناء تنفيذ او تشغيل البرنامج.

الخاصية DataSource مصدر البيانات وبواسطتها يتم الربط بين مربع النص والاداة الخاصة بقواعد البيانات.

الخاصية DataField حقل البيانات وهو الحقل الذي سيتم ربطه بهد الاداة او يتم التعامل معه عن طريقها

الخاصية DataFormat تنسيق البيانات

الخاصية Font الخط وتنسيقة وتغيره وكل ما يتعلق به يتم عن طريق هذه الخاصية

مثال


Text1.Font.Bold = True
Text1.FontItalic = True
Text1.Font.Size = 28

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

ان تبداء بي txt مثلا txtStudenName وكما ينصح بشدة عالية جدا انه عند تغيير الاسم يجب ان يكون من اول الاشياء

التي تقوم بها عند وضع الاداة على الفورم حتى لا تتطر الى اعادة كتابة الكود من جديد بناء على الاسم الجديد.

الخاصية Alignment وهي تحدد اتجاه كتابة النص من اليمن الي اليسار او توسيط او من اليسار الي اليمين حسب

القيمة التي تحددها

الخاصية MousePointer وهي تبين شكل موشر الماوس عند وقفه او مروره على هذه الاداة

الخاصية PasswordChar لو اردنا ان نغير الحروف المدخلة في مربع النص الي اي رمز من الرموز مثل ما يتم ادخاله

في مربع كلمة المرور يتم تحديد الرمز من هذه الخاصية مثلا نضع قيمة * او # ونجرب.

الخاصية Tag تستعمل لتخزين اي قيمة يمكن ان نحتاجه اثناء تعاملنا مع البرنامج .

الخاصية Text وهي من اهم الخصائص بالنسبة لمربع النص ، وعن طريقها يمكن الوصول الي النص الموجود بالاداة.

الخاصية ToolTipText النص الذي يظهر عند وقوف موشر الماوس على الأداة يكون عن طريق هده الخاصية.

الخاصية WhatsThisHelpID عند ربط المشروع بملف تعليمات Help ونود ربط هذه الاداة بتعليمة معينة تكون عملية الربط

عن طريق هذه الخاصية حيث يتم فيها كتابة عنوان التعليمة .

الخاصية Height عن طريقها يمكن تحديد ارتفاع مربع النص علما بان وحدة القياس في هي Twip

الخاصية Left مكان او موع الاداة من جهة اليسار بالنسبة للفورم

الخاصية Top مكان او موقع الاداة من الجهة العلوية بالنسبة للفورم

الخاصية Width عرض الأداة

هذه تقريبا اغلب الخصائص التي تتعلق باداة النص Text Box

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من احداث الأداة Text Box

الحدث Change عند التغيير في مربع النص ينطلق او يتنفذ هذا الحدث

فمثلا لو لدينا 2 مربع نص نكتب الكود التالي


Private Sub Text1_Change()
Text2.Text = Val(Text1.Text) * 2
End Sub

الحدث Click يحدث او ينطلق عند النقر بزر الماوس على الأدة

الحدث GotFocus عند دخول مؤشر الكتابة الى مربع النص فمثلا نكتب الكود التالي في مربع نص


Private Sub Text1_GotFocus()
With Text1
.SelStart = 0
.SelLength = Len(.Text)
.BackColor = &H80FFFF
.FontBold = True
.ForeColor = &H80000002
.Appearance = 0
End With
End Sub

الحدث keydown ينطلق هذا الحدث عند الضغط على اي مفتاح ويكن المفتاح مازال مضغوط ويقوم هذا الحدث بارجاع

قيمة لسكان كود Scan Cod الخاص بالمفتاح ، وللعلم كل مفتاح في لوحة المفاتيح له Scan Code خاص به وهو رقم

هذا المفتاح وكذلك يوجد لأغلب المفاتيح Ascii code وهو الرمز الذي يحتويه هذا المفتاح ولمعرفة ال scan code

الخاص بالمفاتيح نكتب الكود التالي


Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Text1.Text = " <--> " & KeyCode
End Sub

الحدث keypress ينطلق او ينتفد هذا الحدث عند الضغط على اي مفتاح عندما تكون نقطة الإدراج بهذه الاداة

ويقوم هذا الحدث بارجاع قيمة الاسكي كود الخاص بالمفتاح

لو اردنا ان نعرف قيمة الاسكي كود الأي مفتاح يمكن ذلك بسهولة عن طريق هذا الكود


Private Sub Text1_KeyPress(KeyAscii As Integer)
Text1.Text = " <--> " & KeyAscii
End Sub

المثالان الاخيران متشابهان كثيرا ولكن يفضل اغلاق احدهما عند تنفيذ الأخر لكي تشاهد الفرق واغلب الارقام متاشبها

ولكن في المثال الخاص بالسكان كود تجد انه عند الضغط على مفاتيح الوظائف f1 F2 F3 انه يعطيك ارقام بعكس المثال الخاص

بالاسكي كود كما لاحظ الفرق بين قيم الارقم التي في لوحة المفاتيح في المثالين واضغط على الارقام التي في اليمين

والارقام التي ف الاعلى .

ويمكن ان نستغل الحدث KEYPRESS لتحكم في ادخلات المستخدم مثلا لو اردنا ان يقوم المستخدم بادخال ارقام فقط يمكن كتابة الكود التالي


Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = IIf(InStr("0123456789.-+" & Chr$(8), Chr$(KeyAscii)), KeyAscii, Empty)
End Sub

الحدث LostFocus يحدث او ينطلق عند انتقال او خروج نقطة الإدراج او موشر الكتابة من مربع النص

ويمكن ان يستغل هذا الحدث في عدة اشياء مثلا


Private Sub Text1_LostFocus()
With Text1
.Text = Trim(.Text) 'إزالة الفرغات إن وجدت في بداية ونهاية النص
.BackColor = &H80000005
.FontBold = False
.ForeColor = &H80000008
.Appearance = 1
End With
End Sub

هذا المثال مكمل للمثال الذي في الحدث GotFocus

يلا الوقت لم يعد يسعني وارجو ان اكون قد وفقت في الشرح ، وفيه بعض الاشياء الاخرى سادكرها لحقا وهي تخص المتقدمين

وارجو كل من عنده اي اضافات ان يضيفها هنا وكل من عنده اي استفسارات حول هذه الأداة ان يستفسر هنا

فيجب ان ندكر انه لا ينال العلم مستحي ولا ومستكبر ويجب علينا ان لا نتكبر و لا نستحي في طلب العلم

وان لا نبخل على غيرنا في المعرفه

لكم تحياتي

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيراً يا أخي والله احنا في أمس الحاجة لمثل هذه الأمثلة والشروحات وألف شكر لك .

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

واعتبروا هذا اقتراح مني وأتمنى منكم دراسته بشكل جدي .,,,

السلام عليكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

تحية شكر وتقدير اخي طارق

ارجو ان تستمر في عملك الخير

واتمنى ان تقوم بشرح المزيد الادوات والمواضيع القيمة للمبتدئين الذين هم في مثل حالتي

وكما اتمنى من جميع الأخوة شرح ما هو يفيدنا نحن المبتدئين

كما اتمنى ان يكون لقسم خاص بناء

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ماشاء الله عليك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم ورحمته وبركاته

لك كل الشكر اخوي.

:rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

text1.text="بسم الله الرحمن الرحيم . وبعد. والصلاة والسلام على اشرف الخلق سيدنا محمدوهكذا .....نص كبير ياخذ اكثر من سطر........"

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكووور أخوي طارق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .