Cách thích hợp để ứng dụng MFC tự đóng chính nó là gì?Làm thế nào một ứng dụng MFC có thể tự kết thúc?
10
A
Trả lời
10
Programatically Chấm dứt một ứng dụng MFC
void ExitMFCApp()
{
// same as double-clicking on main window close box
ASSERT(AfxGetMainWnd() != NULL);
AfxGetMainWnd()->SendMessage(WM_CLOSE);
}
12
AfxGetMainWnd()->PostMessage(WM_CLOSE);
4
Để hỗ trợ câu trả lời của @ Mike, lý do sử dụng phương pháp này là kích hoạt trình tự tắt đúng. Đặc biệt quan trọng đối với các ứng dụng MDI/SDI vì nó cung cấp cơ hội cho các tài liệu nhắc nhở lưu trước khi thoát hoặc hủy bỏ lệnh thoát.
@ Matt Noguchi, phương pháp của bạn sẽ phá vỡ chuỗi này (có thể là hiệu quả mong muốn, tôi giả sử, nhưng có lẽ bạn đã có vấn đề nếu bạn đang ngắn mạch các teardown bình thường.
4
PostQuitMessage([exit code]);
1
Nếu đó là ứng dụng dựa trên hộp thoại, bạn có thể thực hiện bằng cách gọi hàm EndDialog()
Nếu đó là ứng dụng dựa trên SDI/MDI, bạn có thể gọi DestroyWindow. đóng tài liệu, deallocating bộ nhớ và tài nguyên, phá hủy bất kỳ cửa sổ bổ sung tạo ra vv).
bất kỳ mã C# tương đương? –