DGCreatePalette
Palette 다이얼로그를 생성하되 그것을 보여주지는 않습니다.
short DGCreatePalette ( short resId, const DGDialCallBack dCallBack, DGUserData userData );
파라미터
- resId
- 다이얼로그의 GDLG 리소스 식별자입니다.
- dCallBack
- 다이얼로그 콜백 프로시저에 대한 상수 포인터입니다.
- userData
- 다이얼로그의 사용자 지정 데이터입니다.
리턴 값
만약 성공적으로 생성되면 다이얼로그의 ID입니다. 만약 함수 파라미터들이나 GRC 설명이 올바르지 않은 경우 0입니다.
설명
이 함수는 GRC 리소스에 정의된 창, 다이얼로그 항목들과 팔레트 다이얼로그의 내부 데이터를 생성합니다. 다이얼로그가 생성되자마자 리턴합니다. 이것은 다이얼로그를 보여주지 않으며 이벤트 처리도 시작하지 않습니다. 다이얼로그 콜백 함수에서 다이얼로그 메시지들을 받으려면 DGBeginProcessEvents 함수로 이벤트 처리를 시작해야 합니다. 이벤트 처리를 시작한 후에 다이얼로그를 보여주기 위해 DGShowModelessDialog를 사용하십시오.
애플리케이션은 리턴된 다이얼로그 ID를 저장해야 합니다. 그리고 고정된 리소스 ID 대신 이 값을 차후 DG 함수 호출에 사용해야 합니다. 기본적으로 이것이 필수인 2가지 상황이 있습니다:
- 어떤 다이얼로그의 여러 인스턴스를 생성하고 싶을 때 (동일 리소스 기반)
- 동일한 리소스 ID를 가진 서로 다른 모듈들에서 정의된 동일한 타입의 여러 다이얼로그들을 열고 싶을 때
이러한 경우, DG는 리소스 충돌을 해결하기 위해 2번째와 차후 DGCreatePalette 호출에서 새로운 (음수) 유일 다이얼로그 ID들을 생성합니다. 애플리케이션이 1개의 모듈로 이루어져 있고 모든 다이얼로그가 1번만 열린다 하더라도 이러한 방법을 사용하는 것을 적극 권장합니다.
userData 파라미터에 의해 주어진 사용자 데이터 블록은 모든 DG 메시지와 함께 다이얼로그 콜백 함수에게 전달됩니다. 애플리케이션은 이 데이터 블록에 다이얼로그 지정 정보를 저장하고 그것의 포인터를 DGUserData로 캐스팅할 수 있습니다.
리소스가 없어도 DGCreateBlankPalette 또는 DGCreateBlankDockablePalette 함수를 사용하여 비어 있는 팔레트 다이얼로그들을 만들 수 있습니다. 생성된 팔레트에 다이얼로그 항목들을 붙이려면 DGAppendDialogItem 함수를 사용하십시오.
요구사항
- 버전: DG 2.0.0 또는 이후
- 헤더: DG.h
- 라이브러리 가져오기: DG.lib [WIN]
- 모듈: DGLib [MAC], DG.dll [WIN]
참고사항
DG 함수, Palette 다이얼로그, Modeless 다이얼로그
DGCreateBlankPalette, DGCreateBlankDockablePalette, DGDestroyPalette
DGModelessInit, DGModelessClose, DGModelessHandler, DGShowModelessDialog, DGCreateModelessDialog, DGCreateBlankModelessDialog, DGAppendDialogItem, DGBeginProcessEvents
콜백 함수, DG 메시지