Tôi cần mở một hộp thoại được khởi tạo từ cùng một lớp hai lần. Khi tôi thử điều nàyMở lại hộp thoại phương thức trong MFC
CdelmeDlg dlg;
dlg.DoModal();
dlg.DoModal();
Cuộc gọi thứ hai sẽ mở hộp thoại chỉ trong một giây, sau đó nó sẽ bị đóng. Đặt cược của tôi là có một thông điệp còn sót lại trong hàng đợi tin nhắn, vì vậy tôi đã thêm thông báo này vào giữa các cuộc gọi
MSG msgCur;
while (::PeekMessage(&msgCur, NULL, NULL, NULL, PM_REMOVE))
;
Điều này giải quyết được vấn đề, nhưng cảm giác như một việc phải làm sai. Có cách nào để xử lý thông báo còn lại đúng không?
Điều này có vẻ rất lạ bạn đang cố gắng đạt được điều gì? –
Tôi cần giữ ứng dụng của mình chạy mà không có giao diện người dùng và bật hộp thoại này mỗi lần hết giờ. – MMx
Bạn đóng hộp thoại như thế nào? –