CComboBox تلقائيا بتحديد النص بعد الدعوة إلى MoveWindow
سؤال
وأنا تواجه حاليا مشكلة غريبة جدا مع CComboBox
المستخدمة داخل CFormView
.
وبعد إضافة السلاسل إلى منسدل (تم إنشاؤه مع WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL
)، وأنا اختيار إدخال عبر CComboBox::SetCurSel
وتغيير حجم منسدل عبر MoveWindow
في معالج OnSize()
من فئة مشتقة CFormView
.
وبمجرد أن تشمل الدعوة إلى MoveWindow
، ويحصل على اختيار النص كله في تحرير جزء من منسدل. إذا قمت بإزالة الدعوة إلى MoveWindow
، النص لا يحصل المحدد. هذا يحدث ليس فقط لأحد، ولكن لجميع كومبوبوكسيس المستخدمة.
وأنا فقدت الى حد ما في هذه المرحلة. هو محل تقدير كبير أي تلميح!
المحلول
واختيار كل نص هو السلوك ويندوز القياسية عندما يحصل على مربع التحرير والسرد التركيز. اعتقد ان MoveWindow يتم إعادة تعيين التركيز على عنصر التحكم.
وحاول استخدام CComboBox :: SetEditSel لإزالة الاختيار بعد MoveWindow.