ETC/Windows API

DialogBoxParamA Function

0xe82de_ 2019. 8. 7. 22:36
728x90
728x90
728x90

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-dialogboxparama

 

DialogBoxParamA function (winuser.h)

Creates a modal dialog box from a dialog box template resource.

docs.microsoft.com

가. 대화 상자 템플릿 리소스에서 모달 대화 상자를 생성해라.
나. 대화상자를 표시하기 전에 함수는 WM_INITDIALOG 메시지의 lParam 매개 변수로 응용프로그램 정의 값을 대화상자 절차로 전달한다.
다. 응용 프로그램은 이 값을 사용하여 대화 상자 컨트롤을 초기화할 수 있다.

 

Syntax

INT_PTR DialogBoxParamA(
  HINSTANCE hInstance,
  LPCSTR    lpTemplateName,
  HWND      hWndParent,
  DLGPROC   lpDialogFunc,
  LPARAM    dwInitParam
);

 

Parameters

 1. hInstance

  1) Type: HINSTANCE

  2) 대화 상자 템플릿이 들어 있는 모듈의 핸들. 이 매개 변수가 NULL이면 현재 실행 파일이 사용된다.

 

 2. lpTemplateName

  1) Type: LPCTSTR

  2) 대화 상자 템플릿. 이 매개 변수는 대화상자 템플릿의 이름을 지정하는 null-terminated character string에 대한 포인터 또는 대화상자 템플릿의 리소스 식별자를 지정하는 정수 값이다. 매개 변수가 리소스 식별자를 지정하는 경우, 해당 high-order는 0이어야 하며 low-order는 식별자를 포함해야 한다. MAKEINTRESOURCE 매크로를 사용하여 이 값을 생성할 수 있다.

 

 3. hWndParent

  1) Type: HWND

  2) 대화 상자를 소유하는 창의 핸들.

 

 4. lpDialogFunc

  1) Type: DLGPROC

  2) 대화 상자 프로시저에 대한 포인터. 대화 상자 절차에 대한 자세한 내용은 DialogProc를 참조해라.

 

 5. dwInitParam

  1) Type: LPARAM

  2) WM_INITDIALOG 메시지의 lParam 매개 변수에 있는 대화 상자로 전달할 값.

 

Return Value / Type: INT_PTR

 1. 함수가 성공하면 반환 값은 대화상자를 종료하는 데 사용되는 EndDialog 함수에 대한 호출에 지정된 nResult 파라미터의 값이다.

 2. hWndParent 매개 변수가 잘못되어 기능이 실패하면 반환 값이 0이 된다. 이 경우 기능은 이전 버전의 Windows와 호환되도록 0을 반환한다. 다른 이유로 기능이 실패하는 경우 반환 값은 –1이다. To get extended error information, call GetLastError.

 

Remarks

 1. DialogBoxParam 함수는 CreateWindowEx 함수를 사용하여 대화 상자를 생성한다. 그런 다음 DialogBoxParam은 WM_INITDIALOG 메시지(템플릿이 DS_SETFONT 또는 DS_SHELLFONT 스타일을 지정하는 경우 WM_SETFONT 메시지)를 대화 상자 절차로 전송한다. 함수는 (템플릿이 WS_VISIBLE 스타일을 지정하는지 여부에 관계없이) 대화상자를 표시하고, 소유자 창을 비활성화하며, 대화상자의 메시지를 검색 및 발송하기 위해 자체 메시지 루프를 시작한다.

 

 2. 대화 상자 절차가 EndDialog 기능을 호출할 때 DialogBoxParam은 대화 상자를 삭제하고 메시지 루프를 종료하며 소유자 창을 활성화(이전에 활성화된 경우)하고 EndDialog라고 할 때 대화 상자 절차에 의해 지정된 nResult 파라미터를 반환한다.

 

Requirements

 1. Minimum supported client

  Windows 2000 Professional [desktop apps only]

 

 2. Minimum supported server

  Windows 2000 Server [desktop apps only]

 

 3. Target Platform

  WIndows

 

 4. Header

  winuser.h (include Windows.h)

 

 5. Library

  User32.lib

 

 6. DLL

  User32.dll

728x90
728x90