في الواقع، تتوافق الأزرار الثلاثة الموجودة في الجانب الأيمن العلوي من النموذج مع عدة خيارات في ControlBox (ControlBox) في الجانب الأيسر العلوي من النموذج (تصغير/تكبير/إغلاق)، من بينها التكبير (MaxButton) والتصغير ( Minbutton) يمكن ضبطها مباشرة في خصائص النموذج، لكن VB لا يوفر وظيفة تعيين الزر "X"! لتحقيق هذه الوظيفة، يجب عليك استخدام API:
نظرًا لأن الزر "X" يتوافق مع خيار الإغلاق في ControlBox، فنحن نحتاج فقط إلى إزالة خيار الإغلاق في قائمة النظام (أي ControlBox)! يمكنك أولاً إلقاء نظرة على قائمة النظام في الزاوية اليسرى العليا من المتصفح الذي تستخدمه. ما هو الرقم الذي يمثل خيار [إغلاق]، وليس الرقم السادس؟ إنه السابع، والخط الفاصل يعتبر واحدًا! المقسم هو السادس!
عندما نقوم بإزالة خيار الإغلاق، سيبقى خط فاصل غريب، لذا من الأفضل إزالة الخط الفاصل أيضًا. يبدأ فهرس القائمة من 0، والخط الفاصل هو السادس، وبالتالي فإن الفهرس = 5.
التصحيح: لكي تعمل التعليمات البرمجية للبرنامج بشكل صحيح على نظام التشغيل Windows NT، قم بتغيير نوع عدد صحيح إلى طويل. 89.05.04
"التقط مفتاح قائمة النظام."
PRivateDeclareFunctionGetSystemMenuLib"user32"Alias"GetSystemMenu"(ByValhwndAsLong,ByValbRevertAsLong)AsLong
"إزالة واجهة برمجة تطبيقات قائمة النظام."
PrivateDeclareFunctionRemoveMenuLib"user32"Alias"RemoveMenu"(ByValhMenuAsLong،ByValnPositionAsLong،ByValwFlagsAsLong)AsLong
'المعلمة الأولى هي عنوان قائمة النظام
'المعلمة الثانية هي الفهرس-> الخيار المراد إزالته