سؤال

وأنا باستخدام Visual Studio 6.0 (VC ++ مع MFC) في منصة ويندوز XP. أحاول أن إنشاء مربع مجموعة مع عنوان مربع مجموعة مربع الاختيار كما. نيتي هي هذه: إذا تم تمكين خانة الاختيار، والضوابط داخل مربع المجموعة يجب تمكين. وإلا تعطيل.

هل هذا ممكن تحقيقه؟ إذا كانت الإجابة بنعم، يرجى أن تعطيني بعض الاتجاهات.

وشكرا.

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

المحلول

وهناك عدد قليل من الأشياء التي يمكنك محاولة، وهذا يتوقف على مدى صحة كنت ترغب في البقاء لديك فكرة ومقدار العمل الذي كنت على استعداد لوضعها في جهد:

طريقة بسيطة

استخدم مربع مجموعة العادي، ومن ثم داخل هذا جعل البند الأول سيكون خانة الاختيار. هذا هو بسيط لتحقيقه، ولكن تفقد الهدف من وجود خانة الاختيار كعنوان.

غير تقليدي طريقة الرسم 1

استخدم مربع مجموعة العادي، ثم في الفضاء فوق حيث كنت تعرف العنوان للذهاب، ضع مربع الخاص بك. سيكون لديك لأداء بعض الحسابات صعبة للحصول عليه لتتلاءم بشكل جيد ورسم جيد دون وميض.

غير تقليدي طريقة الرسم 2

استخدم شكلا من أشكال الفائقة أو فرعية / <لأ href = "http://msdn.microsoft كوم / EN-US / مكتبة / ms633569 (VS.85) .aspx اتصال # winproc_subclassing "يختلط =" noreferrer "> فئة فرعية على مربع المجموعة. يمكنك تجاوز معالج WM_PAINT إلى رسم إلا في إطار لمربع المجموعة. وضع مربع العادي في المكان الذي كنت تعرف العنوان للذهاب. وينبغي أن تعمل على نحو أفضل لأنك سوف الحصول على مزيد من السيطرة على الرسم، ولكن من المرجح أن تكون صعبة للحصول على حق. في تجربتي، إن شاء subclasses ترث أقل خطرا على تنفيذ من superclassing.

نصائح أخرى

هل تستخدم محرر الحوار؟ إذا كان الأمر كذلك، واخماد مربع المجموعة. بعد ذلك، على أعلى من ذلك، ووضع خانة الاختيار على خط منطقة الجزاء المجموعة. تحرير الموارد لتعيين ترتيب Z، أو يفعل ذلك في التعليمات البرمجية. تريد خانة الاختيار ليكون على رأس منطقة الجزاء المجموعة. إضافة معالج لمربع وتمكين / تعطيل الضوابط تبعا لحالة خانة الاختيار.

ولقد كتبت واحدة تسمى CGroupCheck قبل بضع سنوات، وأنها متاحة من CodeProject: HTTP: //www.codeproject.com/KB/buttons/groupcheck123.aspx

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