سؤال

(MFC سؤال) ما هي أفضل طريقة لتحديد الحالي عرض منطقة العميل في CScrollView?أنا فقط بحاجة حجم الجزء المرئي ، لذلك GetClientRect() لن تعمل هنا.

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

المحلول

كنت بحاجة إلى استخدام GetClientRect(), ولكن أعتقد أنك تسأل السؤال الخطأ.انها ليست حتى في تمريره عرض هناك كبير جدا إطار العميل ماديا تمريره.بدلا من ذلك, عند التمرير ، العاصمة viewportext و وضع الخرائط يتم تعديلها ، مما جعله يبدو وكأنه عرض أكبر مما هو عليه في الواقع.لذلك, إذا كنت ترغب في رسم خط من أعلى الزاوية اليسرى من أسفل الزاوية اليمنى من العرض الحالي ، تحتاج GetViewPortOrg() و GetViewportExt().إذا كانت هذه العودة قيم خاطئة, ما هو الخطأ في استخدام CScrollView.هل اتصلت SetScrollSizes()?

نصائح أخرى

داخل OnDraw (وظيفة), هل يمكن الاتصال pDC->GetViewportOrg و pDC->GetViewportExt.

تحرير:آسف, لقد نسيت أن العرض نطاقات هي فقط عوامل القياس.أوافق على أن ما تحتاجه حقا هنا هو العميل rect.

نعم أنت كل الحق.GetClientRect هو بالضبط ما أردت.هفوة من جهتي...

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