ضبط ترتيب علامات التبويب
على سبيل المثال، لنفترض أنك قمت بإنشاء مربعي نص باسم Text1 وText2، ثم قمت بإنشاء CommandButton باسم Commandl. عند بدء تشغيل التطبيق، يحتوي Text1 على التركيز. سيؤدي الضغط على المفتاح TAB إلى انتقال التركيز بين عناصر التحكم بالترتيب الذي تم إنشاؤه به، كما هو موضح في الشكل 3.20.
سيؤدي تعيين الخاصية TabIndex إلى تغيير ترتيب الجدولة لعنصر التحكم. تحدد الخاصية TabIndex لعنصر التحكم موضعها في ترتيب الجدولة. وفقًا للقواعد الافتراضية، تكون قيمة TabIndex لعنصر التحكم الأول الذي تم إنشاؤه هي 0، وقيمة TabIndex لعنصر التحكم الثاني هي 1، وهكذا. عندما تقوم بتغيير موضع ترتيب الجدولة لعنصر تحكم، يقوم Visual تلقائيًا بإعادة ترقيم مواضع ترتيب الجدولة لعناصر التحكم الأخرى لتعكس عمليات الإدراج والحذف. على سبيل المثال، لجعل Command1 هو الأول في تسلسل مفاتيح علامة التبويب، سيتم ضبط قيم TabIndex لعناصر التحكم الأخرى تلقائيًا لأعلى، كما هو موضح في الجدول التالي.
نظرًا لأن الترقيم يبدأ من 0، فإن الحد الأقصى لقيمة TabIndex يكون دائمًا أقل بواحد من عدد عناصر التحكم في ترتيب الجدولة. حتى إذا كانت قيمة الخاصية TabIndex أعلى من عدد عناصر التحكم، فسيقوم Visual Basic بتحويل هذه القيمة إلى عدد عناصر التحكم ناقص واحد.
لاحظ أن عناصر التحكم التي لا يمكنها الحصول على التركيز، بالإضافة إلى عناصر التحكم غير الصالحة وغير المرئية، لا تحتوي على خاصية TabIndex وبالتالي لا يتم تضمينها في ترتيب الجدولة. سيتم تخطي عناصر التحكم هذه عند الضغط على المفتاح TAB.
قم بإزالة عناصر التحكم بترتيب علامات التبويب
عادةً، يؤدي الضغط على المفتاح TAB أثناء وقت التشغيل إلى تحديد كل عنصر تحكم في تسلسل علامات التبويب. قم بتعيين خاصية TabStop لعنصر التحكم إلى False(0) لإزالة عنصر التحكم من ترتيب الجدولة.
يظل عنصر التحكم الذي تم تعيين خاصية TabStop الخاصة به إلى False يحتفظ بموضعه في ترتيب علامات التبويب الفعلي، فيما عدا أنه يتم تخطي عنصر التحكم عند الضغط على مفتاح tab.
لاحظ أن مجموعة OptionButton لديها محطة علامة تبويب واحدة فقط. يتم تعيين الخاصية TabStop للزر المحدد (أي الزر الذي تكون قيمته True) تلقائيًا على True، بينما تكون الخاصية TabStop للأزرار الأخرى False.
أساسيات القائمة
إذا كان أحد التطبيقات يوفر مجموعة من الأوامر للمستخدم، فإن القوائم توفر طريقة ملائمة لتجميع الأوامر وتسهل على المستخدم الوصول إليها.
يوضح الشكل 3.21 عناصر واجهة القائمة لنموذج بدون عنوان.
يظهر شريط القائمة مباشرة أسفل شريط عنوان النموذج ويحتوي على عنوان قائمة واحد أو أكثر. عند النقر فوق عنوان القائمة (مثل "ملف")، يتم سحب القائمة التي تحتوي على عناصر القائمة لأسفل. يمكن أن تتضمن عناصر القائمة أوامر (مثل جديد وخروج) وفواصل وعناوين قوائم فرعية. يتوافق كل عنصر قائمة يراه المستخدم مع عنصر تحكم القائمة المحدد في محرر القائمة (ستتم مناقشة محرر القائمة لاحقًا في هذا الفصل).
لجعل تطبيقك بسيطًا وسهل الاستخدام، يجب تجميع عناصر القائمة حسب وظائفها. على سبيل المثال، الأوامر المتعلقة بالملفات "جديد" و"فتح" و"حفظ باسم" في الشكل 3.21 كلها مدرجة في قائمة "ملف". تقوم بعض عناصر القائمة بتنفيذ إجراءات مباشرة، مثل عنصر القائمة "خروج" الموجود في القائمة "ملف" والذي سيؤدي إلى إغلاق التطبيق. تعرض عناصر القائمة الأخرى مربع حوار، وهو نافذة تطلب من المستخدم تقديم المعلومات التي يحتاجها التطبيق لتنفيذ إجراء ما. يجب أن يتبع عناصر القائمة هذه قطع ناقص (...). على سبيل المثال، عند تحديد "حفظ باسم..." من القائمة "ملف"، يظهر مربع الحوار "حفظ باسم".
عنصر التحكم في القائمة هو كائن، مثل الكائنات الأخرى، وله خصائص تحدد مظهره وسلوكه. يمكن تعيين خصائص التسمية التوضيحية، والخصائص الممكنة والمرئية، والخصائص المحددة، والخصائص الأخرى في وقت التصميم أو التشغيل. يحتوي عنصر تحكم القائمة على حدث واحد فقط، وهو حدث النقر، والذي يتم استدعاؤه عند تحديد عنصر تحكم القائمة باستخدام الماوس أو لوحة المفاتيح.
لمزيد من المعلومات حول التحكم في القائمة، راجع "إنشاء القوائم باستخدام محرر القائمة" في الفصل السادس "إنشاء واجهة المستخدم".
القائمة المنبثقة
القائمة المنبثقة هي قائمة عائمة معروضة في النموذج ومستقلة عن شريط القوائم، كما هو موضح في الشكل 3.22. تعتمد العناصر المعروضة في القائمة المنبثقة على موضع المؤشر عند الضغط على زر الماوس الأيمن، ولذلك، تسمى القائمة المنبثقة أيضًا قائمة السياق (في نظام التشغيل Windows 95، يؤدي النقر فوق زر الماوس الأيمن إلى تنشيط السياق. القائمة.) يجب استخدام القائمة المنبثقة لتوفير طريقة فعالة للوصول إلى أوامر السياق الشائعة. على سبيل المثال، انقر بزر الماوس الأيمن فوق مربع نص وستظهر قائمة السياق (كما هو موضح في الشكل 3.22).
يمكن عرض أي قائمة تحتوي على عنصر قائمة واحد على الأقل كقائمة منبثقة في وقت التشغيل. استخدم أسلوب PopupMenu لعرض قائمة منبثقة.
لمزيد من المعلومات حول القوائم المنبثقة، راجع "إنشاء القوائم باستخدام محرر القائمة" في الفصل السادس، "إنشاء واجهة المستخدم".
استخدم محرر القائمة
باستخدام "محرر القائمة"، يمكنك إضافة أوامر جديدة إلى القوائم الموجودة، واستبدال أوامر القائمة الموجودة بأوامرك الخاصة، وإنشاء قوائم وأشرطة قوائم جديدة، وتغيير وحذف القوائم وأشرطة القوائم الموجودة. الميزة الرئيسية لمحرر القائمة هي سهولة استخدامه. يمكن تخصيص القوائم بطريقة تفاعلية كاملة مع الحد الأدنى من البرمجة.
لعرض محرر القائمة،
حدد "محرر القائمة" في قائمة "الأدوات" وسيؤدي ذلك إلى فتح "محرر القائمة"، كما هو موضح في الشكل 3.23
يمكن ضبط معظم خصائص التحكم في القائمة باستخدام محرر القائمة، وبالمثل، تتوفر جميع خصائص القائمة في نافذة الخصائص. عادةً، يمكنك إنشاء قوائم في محرر القائمة، ولكن لتغيير الخصائص الفردية بسرعة، استخدم نافذة الخصائص.
لمزيد من المعلومات حول إنشاء القوائم واستخدام محرر القائمة، راجع "إنشاء القوائم باستخدام محرر القائمة" في الفصل السادس، "إنشاء واجهة المستخدم".
مطالبة المستخدم بمربع حوار
في التطبيقات المستندة إلى Windows، يتم استخدام مربعات الحوار لمطالبة المستخدم بالبيانات المطلوبة لمواصلة تشغيل التطبيق أو لعرض المعلومات للمستخدم. يعد مربع الحوار نوعًا خاصًا من كائنات النموذج التي يمكن إنشاؤها بإحدى الطرق الثلاث التالية:
يمكن للتعليمات البرمجية التي تستخدم وظائف MsgBox أو InputBox إنشاء مربعات حوار محددة مسبقًا.
قم بإنشاء مربعات حوار مخصصة باستخدام النماذج القياسية أو تخصيص مربعات الحوار الموجودة.
استخدم عنصر التحكم CommonDialog لإنشاء مربعات حوار قياسية مثل Print وOpen File.
الشكل 3.24 هو مثال لاستخدام الدالة MsgBox لإنشاء مربع حوار محدد مسبقًا.
عند استدعاء الدالة MsgBox في التعليمات البرمجية، يتم عرض مربع الحوار. الرمز هو كما يلي:
تمت مواجهة خطأ MsgBox أثناء محاولة فتح الملف،&vbCrLf&يُرجى إعادة المحاولة.,vb Exclamation,محرر النصوص
تحتاج إلى توفير ثلاث أجزاء من المعلومات أو ثلاث معلمات لوظيفة MsgBox: نص الرسالة، وثابت (قيمة رقمية) يحدد نوع مربع الحوار، والعنوان. يعد إنشاء مربعات الحوار أسهل لأن الأنماط يمكنها استخدام مجموعات متنوعة من الأزرار والأيقونات.
نظرًا لأن معظم مربعات الحوار تتطلب تفاعل المستخدم، يتم عرضها عادةً كمربعات حوار مشروطة. يجب إغلاق مربعات الحوار المشروطة (إخفائها أو إلغاء تحميلها) قبل الاستمرار في استخدام أجزاء أخرى من التطبيق. على سبيل المثال، إذا كان يجب عليك النقر فوق "موافق" أو "إلغاء الأمر" قبل التبديل إلى نماذج أخرى أو مربعات حوار أخرى، فإن مربع الحوار هذا هو مربع حوار مشروط.
لا يلزم إغلاق مربع حوار غير مشروط للسماح بالتركيز بالتنقل بين مربع الحوار والنماذج الأخرى. أثناء عرض مربع الحوار، يمكنك متابعة العمل في مكان آخر في التطبيق الحالي. مربعات الحوار غير النموذجية نادرة؛ وعادةً ما يتم عرضها لأن التطبيق يتطلب استجابة قبل المتابعة. مربع الحوار "بحث" في القائمة "تحرير" في Visual Basic هو مربع حوار غير مشروط. استخدم مربعات الحوار غير النموذجية لعرض الأوامر أو المعلومات المستخدمة بشكل متكرر.
مزيد من المعلومات لمزيد من المعلومات حول إنشاء مربعات الحوار، راجع الفصل السادس، "إنشاء واجهة المستخدم".
->