2012-12-13 3 views
0

대화 상자 기반 응용 프로그램이 있습니다. 기본적으로 Visual Studio는 App 및 Dlg 클래스를 만들었습니다. 대화 상자에 단추, 편집 상자 등을 추가했습니다. 사용자가 대화 상자의 시작 버튼을 클릭하면 5 분의 자동 테스트가 실행되고 입력란에 텍스트 업데이트 및 진행이 표시됩니다. 이제는이 작업이 매우 효과적이므로 자동화 된 테스트가 실행되는 동안 사용자가 다른 버튼을 클릭하고 대화 상자의 확인란을 클릭 할 수있게하려고합니다. 이를 위해 나는 CMyThread라는 클래스 마법사를 사용하여 UI 스레드 클래스를 만들었습니다. CMyThread에서 CMyThread의 Run() 함수에 START 버튼을 누를 때 실행 된 코드를 옮겼습니다. 시작 버튼을 클릭하면 CMyThread Run() 함수를 호출 할 계획입니다. 5 분 동안의 자동 테스트가 진행되는 동안 계속 대화 상자에서 진행 상황과 업데이트를 얻고 싶습니다. CMyThread Run()에서 문자열을 대화 상자의 편집 상자로 보내 사용자에게 표시하려면 어떻게합니까?UI에서 대화 상자 편집 상자에 문자열을 표시하는 방법 스레드 클래스 Run() 함수

답변

1

는 그것은 MyThread 클래스가 대화의 메시지 루프에 의해 처리되는 메시지를 보낼함으로써 이루어집니다.

다른 유사한 질문이 있으므로 유용한 답변이 있습니다. How to inform a CDialog Object about a finished task from another thread?

그리고 여기 샘플 코드 샘플 코드에 대한 http://forums.codeguru.com/showthread.php?312454-MFC-Thread-How-to-access-UI-elements-from-a-thread-in-MFC

+0

감사와 기사입니다. UI 스레드를 폐기하고 대신 작업자 스레드를 시도했습니다. –