سؤال

وأنا على الحصول على DC للمؤشر إطار كائن في برنامج آخر باستخدام win32gui.GetDC التي تقوم بإرجاع عدد صحيح / منذ فترة طويلة. أحتاج إلى مستوى الذاكرة هذه DC في ذاكرة DC في بيثون. الشيء الوحيد الذي لا يمكن معرفة كيفية القيام به هو الحصول على كائن wxDC المستمدة من / منذ فترة طويلة أن يعود win32gui كثافة العمليات. أي من الكائنات wxDC تسمح لي لتمرير مقبض DC الفعلي لهم من ما استطيع ان اقول. هذا بالطبع يبقى لي من القيام بلدي مستوى الذاكرة. هل هناك أي طريقة للقيام بذلك؟

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

المحلول

وأنا تحميل المصدر كويدغيتس وحفرت حولها، وأعتقد أن هذا سوف يعمل.

وتحتاج مقبض (HWND) للإطار الخارجي، وليس DC.

window = wx.Frame(None, -1, '')
window.AssociateHandle(hwnd)
dc = wx.WindowDC(window)

نصائح أخرى

ومن ما استطيع ان اقول، وتستخرج البلدان النامية في بيثون بسبب الاختلاف الأساسي. لذلك سياق الجهاز في بيثون لا يعين مباشرة إلى سياق جهاز في نظام التشغيل Windows على الرغم من العديد من الطرق لاستدعاءات الأسلوب ويندوز مباشرة. لجعل هذا يحدث يبدو أنك سوف تحتاج لجعل صفك DelegateDC الخاصة أو شيئا من هذا القبيل التي تهدف فقط لنظام التشغيل Windows بحيث يمكن تعيين DC التعامل مباشرة.

قد يكون هناك أيضا بعض الطرق لإرفاق wxWindow إلى مقبض النافذة وبعد ذلك يمكن الحصول على wxWindowDC من wxWindow ... لا يمكن ان الرقم هذا على الرغم من خارج.

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