كيفية التحكم في نوافذ التطبيقات الأخرى في دلفي
كيفية التحكم في نوافذ التطبيقات الأخرى في دلفي
تشن جيان بينغ، كلية كادر الإدارة الزراعية في قوانغدونغ
غالبًا ما تتضمن كتابة تطبيقات دلفي عمليات على تطبيقات Windows الأخرى. على سبيل المثال، في نظام إدارة قاعدة البيانات، إذا كان الموظفون الماليون بحاجة إلى استخدام الآلة الحاسبة، فيمكنهم استدعاء وظيفة الآلة الحاسبة المضمنة في Windows، وفي كل مرة يستخدمونها، يجب عليهم فتح الآلة الحاسبة من خلال "ابدأ/البرامج/البرامج الملحقة/الآلة الحاسبة". من الواضح أن الأمر مرهق للغاية، بالطبع، يمكنك التفكير في إنشاء اختصار لـ "الآلة الحاسبة" على سطح المكتب وتحديد مفتاح التشغيل السريع. عندما تحتاج إلى استخدام الآلة الحاسبة، اضغط على مفتاح التشغيل السريع هذا لفتح "الآلة الحاسبة". ومع ذلك، نظرًا لأن "الحاسبة" عبارة عن برنامج نافذة "غير مشروط"، أي أنه في كل مرة يتم فيها تشغيل الآلة الحاسبة، سيتم فتح نافذة "الحاسبة" والنتيجة هي ظهور العشرات من "الآلات الحاسبة" على سطح المكتب، وليس فقط عدد كبير من يزيد من الحمل الزائد لذاكرة النظام ويكون غير مناسب للمستخدمين للعمل. يمكن التحكم فيه بسهولة في دلفي والتأثير مثالي. يتم اقتراح طرق التنفيذ أدناه لقضيتين رئيسيتين.
1. كيفية التحكم في التصميم؟
أنشئ نموذجًا جديدًا، وضع زرين في النموذج، التسميات التوضيحية الخاصة بهما هي "فتح" (أي بدء "الآلة الحاسبة") و"إغلاق" (الخروج والنهاية)، وأضف معالجة حدث النقر لهما على التوالي. راجع النموذج Form1 وملف الوحدة Unit1 للحصول على التفاصيل.
ومن أهم هذه الأقوال:
fwnd:=FindWindow('SciCalc','Calculator');
النموذج الأولي للوظيفة هو (راجع تعليمات دلفي للحصول على التفاصيل):
HWND FindWindow(
LPCTSTR lpClassName، // مؤشر لاسم الفئة
LPCTSTR lpWindowName // المؤشر إلى اسم النافذة
);
هنا، 'SciCalc' هو اسم فئة الآلة الحاسبة، و'Calculator' هو عنوان نافذة الآلة الحاسبة}
setWindowPos(fwnd,HWND_NOTOPMOST,0,0,0,0,SWP_SHOWWINDOW أو SWP_NOSIZE أو SWP_NOMOVE);
النموذج الأولي للوظيفة هو:
منطقية SetWindowPos (
HWND hWnd، // مقبض النافذة
HWND hWndInsertAfter، // مقبض ترتيب الموضع
int X، // الوضع الأفقي
int Y، // الوضع العمودي
إنت سي إكس، // العرض
كثافة العمليات، // الارتفاع
UINT uFlags // أعلام تحديد موضع النافذة
);
ShowWindow(fwnd,SW_RESTORE); // إظهار "الآلة الحاسبة" المفتوحة;
النموذج الأولي للوظيفة هو:
نافذة عرض منطقية(
HWND hWnd، // مقبض النافذة
int nCmdShow // إظهار حالة النافذة
);
Ret:=WinExec('c:windowscalc.exe',SW_SHOWNORMAL);
النموذج الأولي للوظيفة هو:
UINT وينكسيك(
LPCSTR lpCmdLine، // عنوان سطر الأوامر
UINT uCmdShow // نمط النافذة للتطبيق الجديد
);
قم بتشغيل برنامج الحاسبة وتحقق من القيمة المرجعة (وبالتالي استخدام القيمة المرجعة لتحديد الأخطاء المحتملة)
2. كيفية توضيح "اسم الفئة" للتطبيق؟
للتحكم في أحد التطبيقات، يجب عليك أولاً توضيح "اسم فئة" التطبيق. إن مفهوم "الفئة" واضح جدًا بالفعل في برامج دلفي، على سبيل المثال، قم بإنشاء نموذج جديد Form1، و"اسم الفئة" للنموذج هو TForm1. فكيف يمكن تحديد "اسم الفئة" لبرامج Windows الأخرى؟
لحسن الحظ، توفر دلفي أداة عملية تسمى Winsight، وهي بمثابة مرآة تكشف "أسماء فئات" الوحوش أينما كانت.
كيفية استخدام Winsight هي كما يلي:
⑴ قم بتشغيل Winsight (اسم البرنامج هو ws32.exe، في نفس الدليل مثل الملف الرئيسي delphi32.exe)، راجع الشكل ①؛
⑵ حدد "Follow Focus" في "Spy" من قائمة Winsight، كما هو موضح في الشكل ②؛
⑶ تشغيل برنامج "الآلة الحاسبة".
⑷يتم عرض الهدف في Winsight، كما هو موضح في الشكل ③.
بيئة البرمجيات: الصينية Win98/الصينية Delphi5.0.