AlphaBlend شكل طفل
-
05-07-2019 - |
سؤال
وأنا أبحث بعد وسيلة لAlphaBlend شكل طفل، إذا كان ذلك ممكنا باستخدام ويندوز الطبقات كما سيكون هناك ضوابط التفاعلية وراء ذلك.
والمشكلة هي لدي عنصر في TForm العادية التي يرسم متعددة الطبقات المرئية (الرسومات والصور ...). في مرحلة ما أحتاج إلى مثيل عنصر تحكم تحرير على هذا النموذج (في مكان)، وهذه السيطرة تشمل مجموعة متنوعة من الضوابط الإدخال القياسية خارج عن إرادتي (تحرير مربع، مربع، الخ الاختيار)، ولكن أود أن تراكب طبقات أمام طبقة يتم تحريره باستخدام مزج ألفا (وWS_EX_TRANSPARENT
لجعله من خلال النقر).
وأنا أول من فكر باستخدام نماذج طفل لذلك (TForm
s بلا حدود أصليا إلى عنصر)، والذي يعمل على ما يرام، وصولا إلى النقطة التي لا alphablended وAlphaBlended TForm على الإطلاق، بل يتحول مبهمة في أقرب وقت أصليا .. .
وحاولت بعد ذلك إلى unparent شكل alphablended، لأنها مجموعة fsStayOnTop، وكرد فعل على الأحداث ذات الصلة، ويبقيه أمام عنصر على الشاشة، يعمل، ولكن هذا ليس حلا مرضيا حقا: لalphablended شكل StayOnTop هو أيضا أمام نماذج مشروط وغير مشروط أخرى من التطبيق، يجب أن يقرر المستخدم لنقلها أمام المكون ...
وهكذا، أي أفكار أخرى على الطريق قد يكون alphablended شكل الطفل؟ (أو التصرف وكأنه هو)
المحلول
ووفقا لMSDN كنت من الحظ، و <م> WS_EX_LAYERED م> لا يمكن استخدامها للنوافذ الطفل .
وربما يمكن أن تخفي جميع أشكال محرر عندما يفقد النموذج الخاص بك / تطبيق التركيز، التي من شأنها أن ما لا يقل عن منعهم من يجري على أعلى الإطارات الأخرى. ومع ذلك، فإنه غير مرضية ...