كيف يمكن تطبيق MFC إنهاء نفسها ؟
-
08-06-2019 - |
سؤال
ما هي الطريقة المناسبة من أجل تطبيق MFC إلى نظيفة بالقرب من نفسه ؟
المحلول
برمجيا إنهاء تطبيق MFC
void ExitMFCApp()
{
// same as double-clicking on main window close box
ASSERT(AfxGetMainWnd() != NULL);
AfxGetMainWnd()->SendMessage(WM_CLOSE);
}
نصائح أخرى
AfxGetMainWnd()->PostMessage(WM_CLOSE);
دعما @مايك الإجابة ، والسبب في استخدام هذا الأسلوب هو أن تؤدي الصحيح تسلسل إيقاف تشغيل.أهمية خاصة بالنسبة MDI/SDI التطبيقات لأنه يعطي فرصة الوثائق للمطالبة حفظ قبل الخروج أو إلغاء الخروج.
@مات نوغوشي ، طريقة للتحايل على هذا التسلسل (والتي قد يكون لها الأثر المطلوب ، على ما أظن ، ولكن ربما كنت قد حصلت مشاكل إذا كنت قصيرة-الدائرة العادية teardown.
PostQuitMessage( [exit code] );
إذا كان الحوار على أساس التطبيق يمكنك القيام بذلك عن طريق استدعاء EndDialog() وظيفة.
إذا كان SDI/MDI على أساس التطبيق يمكنك الاتصال DestroyWindow.ولكن قبل والتي سوف تحتاج إلى القيام به التنظيف بنفسك (الوثائق الختامية, deallocating الذاكرة وموارد تدمير أي إضافية ويندوز خلق الخ).