سؤال

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

إذا كان لدي العديد من هذه النوافذ المفتوحة دفعة واحدة ، وأنا انقر مع الماوس بلدي عندما تختفي أنها تسبب طلبي أن تفقد التركيز (يتحول التركيز إلى التطبيق خلف الحالية).

كيف يمكنني إيقاف أي تفاعل في نافذتي ؟

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

المحلول 2

بعد ان لعب مع WM_NCACTIVATE رسالة مع أي حظ ، لقد تجاهلت WM_SETFOCUS الرسالة:

void CMyWindow::OnSetFocus(CWnd* pOldWnd)
{
    if (pOldWnd != NULL)
    {
        pOldWnd->SetFocus();
    }
}

ويبدو أن تفعل خدعة.أي فكرة لماذا على الرغم من أنه يعمل!تعليقات بكم في هذه المسألة.

نصائح أخرى

أنه يعمل لأن OnSetFocus (مثل العديد من على* طرق) يعطيك فرصة لإجهاض العمل قبل أن يحدث فعلا.التركيز في الحقيقة لم تتحول إلى غير نافذة تفاعلية.

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