سؤال

برنامجي لديه خيوط متعددة. أنا أستخدم MessageBox لعرض المعلومات للمستخدم. هل هناك على أي حال (أو بديل مربع رسالة) يمكنني الحصول على تحديث ترابط آخر / تغيير نص عرض مربع الرسالة أثناء وجود مربع الرسالة على الشاشة ومرئيا من قبل المستخدم؟

هل كانت مفيدة؟

المحلول

باستخدام خطافات محددة للخيط عبر GetCurrentThreeDID () و SetWindowShookekex ()، يمكنك ربط الرسائل التي يتلقاها رسوتها () داخليا، وكذلك الوصول إلى مقبض النافذة الرئيسية في مربع الحوار، والذي تحصل عليه بعد ذلك الوصول إلى جميع عناصر التحكم في الطفل الحوار. يمكنك بعد ذلك تخصيص مربع الحوار والتحكم حسب الحاجة. يتم استخدام هذه التقنية بشكل شائع لتنفيذ مربعات الحوار الإغلاق الذاتي (قبل إرسال messialboxoxtimeout ()، تخصيص نص الأزرار، إلخ.

نصائح أخرى

إذا كنت تستخدم مربع رسالة Win32 قياسي، فأنا لا أعتقد أن هناك أية طريقة لتغيير النص بمجرد إظهار المربع (قمت بإدخال مضخة رسائل مشروطة).

أود أن أقترح عليك إنشاء نافذة خاصة بك تستمع إلى الرسائل / التحديثات من مؤشرات الترابط الأخرى. بهذه الطريقة كنت في السيطرة.

لا أعتقد أن هناك طريقة مباشرة للقيام بذلك، ربما يمكنك محاولة الحصول على مقبض النافذة ولكن هذا هو الطريق فوضوي للغاية. أفضل رهان هو إنشاء مربع الحوار الخاص بك حتى تتمكن من التحكم الكامل في ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top