MFC에 익숙하지 않으므로 부담하십시오. 이중 화면 모니터에 전체 화면으로 표시되는 대화 상자가 있습니다. 이 대화 상자는 모달이 아닌 다른 대화 상자에서 인스턴스화됩니다 (단추를 클릭 할 때). 같은 뭔가 : MyChildNonModalDlg
의 OnInitDialog()
에서포커스를 잃었을 때 MFC 대화 상자가 멈 춥니 다
void MyCParentDlg::OnBnClickedButton1()
{
dlg2 = new MyChildNonModalDlg();
dlg2->ShowWindow(SW_SHOW);
}
는 ShowWindow(SW_MAXIMIZE)
은없는 테두리 대화 전체 화면 만들기 위해 호출됩니다. 실행 내가 (다른 화면에 말) 대화 밖에 내 마우스로 클릭하면 대화 상자가 지속적으로 업데이트되는
void MyChildNonModalDlg::onBnClickedBut2() {
// Display images on the dialog one by one for a very long time
}
onBnClickedBut2
동안 대화 의미 : 자, MyChildNonModalDlg
내부 버튼 콜백 이벤트가 포커스가 풀리면 멈 춥니 다!
OnBnClickedBut2()
내부의 프로세스가 스레드 내에서 실행되어야하는 멀티 스레딩으로 고정 될 수 있지만 스레드에 대해 거의 알지 못하는 누군가가 나를 올바른 방향으로 안내하거나 제공 할 수 있는지 여부를 알고 있습니다. 이 작업을 수행 할 수있는 코드 예제는 무엇입니까?
자식 대화 상자가 전체 화면이 아닌 ** 일 때도 동일한 문제가 발생합니다. 따라서이 문제는 전체 화면 모드로 인한 것이 아닙니다. –
Windows가 "응답하지 않음"고스트 창을 표시하기 때문에 멈 춥니 다. 이것은 UI 코드에서 유효하지 않습니다. 다른 스레드에서 긴 루프를 실행해야합니다. –
OK 제가 생각한 것 중 하나는 여기에 있습니다. MFC의 스레딩에 대한 훌륭한 소개입니다. 예제 코드를 다운로드하고 공부하면 실제로 한 시간 안에 멀티 스레딩을 수행하는 방법과 이것도 아주 작은 스레드 배경을 배울 수있었습니다. 링크 : http://www.codeproject.com/Articles/5542/Simple-Multithreaded-Application-in-pure-C-Win32-a –