تحتاج نافذة تراكب شفافة لرسم الخطوط على رأس فيديو رسم نافذة؟ :: MFC، C ++، Windows ::

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

سؤال

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

يمكنني إنشاء نافذة من مورد حوار شفافة وتعيين ترتيب Z باستخدام SetWindowpos (...) ولكن لا يبدو أنه له أي تأثير. يحتوي مربع الحوار الذي تم تعيينه كأناقة WS_CHILD أو WS_POPUP أيضا ليس له أي تأثير.

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

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

المحلول

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

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