سؤال

ما هي الطريقة المناسبة من أجل تطبيق MFC إلى نظيفة بالقرب من نفسه ؟

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

المحلول

برمجيا إنهاء تطبيق MFC

 void ExitMFCApp()
   {
        // same as double-clicking on main window close box
        ASSERT(AfxGetMainWnd() != NULL);
        AfxGetMainWnd()->SendMessage(WM_CLOSE);
   }

http://support.microsoft.com/kb/117320

نصائح أخرى

AfxGetMainWnd()->PostMessage(WM_CLOSE);

دعما @مايك الإجابة ، والسبب في استخدام هذا الأسلوب هو أن تؤدي الصحيح تسلسل إيقاف تشغيل.أهمية خاصة بالنسبة MDI/SDI التطبيقات لأنه يعطي فرصة الوثائق للمطالبة حفظ قبل الخروج أو إلغاء الخروج.

@مات نوغوشي ، طريقة للتحايل على هذا التسلسل (والتي قد يكون لها الأثر المطلوب ، على ما أظن ، ولكن ربما كنت قد حصلت مشاكل إذا كنت قصيرة-الدائرة العادية teardown.

PostQuitMessage( [exit code] );

إذا كان الحوار على أساس التطبيق يمكنك القيام بذلك عن طريق استدعاء EndDialog() وظيفة.

إذا كان SDI/MDI على أساس التطبيق يمكنك الاتصال DestroyWindow.ولكن قبل والتي سوف تحتاج إلى القيام به التنظيف بنفسك (الوثائق الختامية, deallocating الذاكرة وموارد تدمير أي إضافية ويندوز خلق الخ).

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