MFC에서 대화 상자를 만든 후에 스레드를 만들고 싶습니다. Windows가 제공 한 어떤 함수가 OnInitDialog
뒤에 자동으로 호출되어 그 안에 스레드를 만들 수 있습니까?MFC에서 OnInitDialog 함수 후에 호출되는 함수가 있습니까?
답변
OnInitDialog
함수로 스레드를 간단하게 만들 수 있습니다. 다른 기능을 사용하거나 검색하거나 초기화 코드를 두 부분으로 나누어 작업을 복잡하게 만들 필요가 없습니다. (전송 해당하는 Windows 메시지가 없기 때문에 또한 하지 이러한 기능은 있습니다.)
당신이 스레드를 만들 전에 화면 에 대화 상자를 얻고 싶은 경우에, 당신은 표시 할 수 있습니다 그것은 수동으로 ShowWindow
function을 사용합니다. 예를 들어 I 정상 이하 스레드 우선 순위를 변경하고, 스레드가 처음 실행될 때 I 정상 어리에 실을 설정 Waiting until the dialog box is displayed before doing something
OnInitDialog()
은 초기화시 (WM_CREATE
에 대한 반응으로) 호출되는 주요 기능입니다.
왜 거기에 스레드를 만들 수 없습니까?
onintidialog 함수 안에 두 개의 스레드를 만들고 있는데 대화 상자가 실행 중일 때 대화 상자가 매우 느리게 진행됩니다. 즉, 대화 상자가 형성되고 스레드가 시작될 때 5 ms 시간 후에 ontimer 내부에 스레드가 생성됩니다. 그래서 타이머 대신 타이머를 생성하는 대신에 dialo를 호출 한 다른 함수가 있다면 createinstruction을 수행 한 다음 코드를 생성 할 수 있습니다. 함수가 존재합니까? – Suri
'WM_INITDIALOG'에 대한 응답으로'OnInitDialog'가 호출되지 않았습니까? –
:
ShowWindow(SW_SHOW);
RedrawWindow();
또한 레이몬드 첸 포스트 참조. 이것은 잘 작동합니다. 귀하의 회신에 감사드립니다.
- 1. 위의 함수가 완료된 후에 함수 호출이 완료되었습니다.
- 2. 주기적으로 호출되는 C++ 함수
- 3. jQuery에서 함수가 두 번 호출되는 이유는 무엇입니까?
- 4. iPhone의 Tabber 항목 (하단)을 누를 때 호출되는 함수가 있습니까?
- 5. 안드로이드에서 뒤로 버튼 클릭 중 호출되는 함수
- 6. 페이지로드시 여러 번 호출되는 jQuery 함수 방지
- 7. Python 표현식에서 호출되는 함수 가져 오기
- 8. VS 2008, MFC : OnInitDialog 추가 - 어떻게?
- 9. ListView에서 스크롤 할 때 호출되는 함수
- 10. location.reload()가 완료된 후에 jQuery 함수가 실행됩니다.
- 11. 앞의 함수가 완료된 후에 다른 함수를 실행 하시겠습니까?
- 12. 함수가 PHP에서 함수 내에 있습니다.
- 13. 소스를 수정하지 않고 다중 프로세스 프로그램에서 호출되는 함수 찾기?
- 14. java에 인라인 함수가 있습니까?
- 15. p : commandButton을 사용하여 아약스 프로세스 후에 actionListener가 호출되는 이유는 무엇입니까?
- 16. 이벤트가 전달 된 후에 대리인 구독자가 호출되는 이유는 무엇입니까?
- 17. gprof가 main()에서 한 번만 호출되는 함수가 102 번 호출되는 이유는 무엇입니까?
- 18. 서버에 배포 한 후에 한 번만 호출되는 메서드를 사용하려고합니다.
- 19. 함수 내에서 다른 함수가 호출되면 함수가 처리를 중지합니까?
- 20. 특정 함수가 완료된 후에 만 함수를 실행하는 방법?
- 21. SQLAlchemy에 mysql unix_timestamp 함수가 있습니까?
- 22. HLSL DirectX9 : getTime() 함수 또는 이와 유사한 함수가 있습니까?
- 23. actionscript에서 jQuery의 ajax 함수 인 $ .post()와 같은 함수가 있습니까?
- 24. WindowProc MFC에서 try/catch 사용
- 25. Stata의 xtnbreg를위한 R 함수가 있습니까?
- 26. JS에서 호출되는 메소드/이벤트보기
- 27. "인라인"함수 호출 : 함수가 절대 실행되지 않습니다.
- 28. Cairo 그래픽이 MFC에서 작동하도록하는 작은 예제가 있습니까?
- 29. MFC에서 인쇄 미리보기를위한 좋은 라이브러리가 있습니까?
- 30. 함수 포인터에 C++ 객체 함수가 있습니다
ShowWindow를 호출하면 왼쪽 상단에 대화 상자가 생겨 "CenterWindow()"를 호출해야한다는 것을 알게되었습니다. – Klox
@klox 흠, 그럴 필요는 없습니다. 대화 상자는 자동으로 소유자 윈도우의 가운데에 배치됩니다. 이것은'OnInitDialog' 이후에 실행되는 내부 MFC 함수 인'_AfxPostInitDialog'에서 발생합니다. '_AfxPostInitDialog'는'OnInitDialog' 함수가 대화 상자의 좌표를 변경하지 않으면 실제로'CenterWindow'를 호출합니다. 그러나 명시 적으로 부르면 아무런 상처를 입지 않을 것입니다. 다중 모니터 시스템을 고려하여 합리적인 위치에 센터링을하고 있는지 확인하십시오. 기본 디스플레이를 항상 중심으로하는 것은 잘못된 결정입니다. :-) –
소유자 창이 없습니다 (대화 상자는 유일한 창임). 설명은 내가 보는 행동의 변화를 설명하는 데 도움이됩니다. – Klox