كيف أقوم بدمج قوائم TMainMenu التي تستخدم قوائم صور منفصلة وتحتفظ بالصور الصحيحة لكل عنصر قائمة؟

StackOverflow https://stackoverflow.com/questions/152405

  •  02-07-2019
  •  | 
  •  

سؤال

لدي برنامج يحتوي على فئتين TForm وقمت بإضافة TMainMenu لكل منهما.ثم أحاول دمجها ديناميكيًا في وقت التشغيل.

مشكلتي هي أنهم عندما يقومون بدمج عناصر القائمة في المدمج في TMainMenu يعرضون الآن الصور المخزنة في قائمة الصور بالشكل الذي تم دمجهم فيه بدلاً من الصور المخزنة في قائمة الصور الخاصة بالنموذج الأصلي.

أفعل شيئا خاطئا؟هل هناك حل بديل حتى يستمر عنصر القائمة في استخدام قائمة الصور بالشكل الذي نشأ منه؟

أستخدم النموذج المدمج في عدد من المشاريع، وإلا فإن قائمة الصور المشتركة الواحدة ستكون منطقية.

إذا كنت بحاجة إلى توضيح أي شيء، من فضلك قل.

شكرًا

نفذ

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

المحلول

الطريقة التي أتعامل بها مع هذا هي الحصول على قائمة صور واحدة في وحدة بيانات، ثم تضمينها في كل نموذج حتى يتمكنوا من مشاركة تلك المجموعة الفردية من الرموز.

نصائح أخرى

لقد واجهت نفس المشكلة تمامًا منذ فترة، ولكنني واجهت أيضًا مشكلات أخرى في دمج القائمة لأن تطبيقي كان MDI، لذلك قررت أن أفعل الأشياء بطريقة مختلفة تمامًا.

لكن ما يمكنك تجربته هو إضافة صور أحد النماذج ديناميكيًا إلى قائمة الصور الخاصة بالنموذج الآخر، و"إعادة توجيه" ImageIndexوفاق.قد يكون الأمر صعبًا بعض الشيء، ولكن يجب أن يعمل.

ما انتهى بي الأمر في النهاية هو استخدام شريط الأدوات2000 حزمة لجميع القوائم وأشرطة الأدوات الخاصة بي.يمكنك بعد ذلك تنزيل جزء جميل جدًا من التعليمات البرمجية يسمى TB2Merge, ، والذي يفعل بالضبط ما تريد.كما أنه يستخدم بعضًا من البنية التحتية لـ Toolbar2000 لربط صورة عنصر القائمة بصورة أخرى TImageList --- بنية تحتية غير موجودة في TMMainMenu الخاص بـ VCL.تأكد من قراءة وثائق TB2Merge بدقة!

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