سؤال

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

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

وأنا أول من فكر باستخدام نماذج طفل لذلك (TForms بلا حدود أصليا إلى عنصر)، والذي يعمل على ما يرام، وصولا إلى النقطة التي لا alphablended وAlphaBlended TForm على الإطلاق، بل يتحول مبهمة في أقرب وقت أصليا .. .

وحاولت بعد ذلك إلى unparent شكل alphablended، لأنها مجموعة fsStayOnTop، وكرد فعل على الأحداث ذات الصلة، ويبقيه أمام عنصر على الشاشة، يعمل، ولكن هذا ليس حلا مرضيا حقا: لalphablended شكل StayOnTop هو أيضا أمام نماذج مشروط وغير مشروط أخرى من التطبيق، يجب أن يقرر المستخدم لنقلها أمام المكون ...

وهكذا، أي أفكار أخرى على الطريق قد يكون alphablended شكل الطفل؟ (أو التصرف وكأنه هو)

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

المحلول

ووفقا لMSDN كنت من الحظ، و <م> WS_EX_LAYERED لا يمكن استخدامها للنوافذ الطفل .

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

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