DGSetOnlyUpdateFlag
Modeless 다이얼로그들에 대한 업데이트 메시지들만 수신하는 것을 활성화 또는 비활성화합니다.
void DGSetOnlyUpdateFlag ( bool onlyUpdate );
파라미터
- onlyUpdate
-
값 M의미eaning true 보통 (DG_DS_NORMAL) 상태를 갖는 Modeless 또는 Palette 다이얼로그에게만 업데이트 메시지들이 전달될 것입니다. false 모든 다이얼로그 관련 메시지들이 처리됩니다.
설명
DG에는 onlyUpdate라고 하는 글로벌 flag가 있습니다. 이 함수는 이 flag의 값을 세트합니다. 만약 onlyUpdate가 true이면, 상태 DG_DS_NORMAL을 갖는 Modeless와 Palette 다이얼로그들은 업데이트 메시지들만 수신하게 됩니다. 만약 이 flag가 false이면, 이 다이얼로그들은 모든 메시지들을 수신하게 될 것입니다.
DGModelessHandler를 호출할 때마다, 이 내부 DG flag를 onlyUpdate 파라미터의 값으로 세트합니다. 그래서 대부분의 경우 이벤트 루프에서 요청한 onlyUpdate 값으로 DGModelessHandler를 호출하는 것으로 충분합니다. 그러나 DGModelessHandler를 호출하기 전이나 호출하는 대신 이 flag를 세트해야 하는 경우는 거의 없습니다.
예를 들어, DGSetOnlyUpdateFlag 함수를 사용하도록 제안을 받았다고 합시다:
- 당신은 DGModelessHandler를 호출하지 않는 특수한 고유 메시지 루프를 사용합니다. 그러나 잠시 동안 DG_DS_NORMAL 상태를 가진 Modeless와 Palette 다이얼로그들을 비활성화할 필요가 있습니다.
- 당신은 DG_DS_NORMAL 상태를 가진 Modeless와 Palette 다이얼로그들을 비활성화할 필요가 있습니다. 그러나 나중에 DGModelessHandler를 호출할 예정입니다.
이 DG flag의 사용법은 다음 예제에서 설명할 수 있습니다. 애플리케이션이 시간을 많이 소비하는 계산과 같은 긴 프로세스를 시작한다고 가정합니다. 이 경우, 계산이 끝날 때까지 Stop 버튼을 가진 프로세스 표시기 다이얼로그를 보여주는 것을 권장합니다. 이 시기 동알 시스템 지정 메시지들을 처리할 때, 값이 true인 onlyUpdate를 가진 DGModelessHandler를 호출해야 합니다. 이것은 DG_DS_NORMAL 상태를 가진 Modeless 다이얼로그들이 업데이트 메시지들을 제외한 어떤 메시지들도 처리하지 않는다는 것을 보장합니다. (어떤 사용자 액션에도 반응하지 않음) 사용자가 Stop 버튼을 눌러 프로세스를 취소할 수 있으려면 프로세스 표시기 다이얼로그의 상태는 DG_DS_ENABLED로 세트해야 합니다.
요구사항
- 버전: DG 2.0.0 또는 이후
- 헤더: DG.h
- 라이브러리 가져오기: DG.lib [WIN]
- 모듈: DGLib [MAC], DG.dll [WIN]
참고사항
DG 함수, Modeless 다이얼로그, Palette 다이얼로그
DGSetModelessDialogStatus, DGGetModelessDialogStatus, DGModelessHandler
DG 메시지, DG_MSG_UPDATE, 콜백 함수