다음을 통해 공유


CWnd::PreCreateWindow

프레임 워크에 연결 하려면이 창 만들기 전에 호출 CWnd 개체입니다.

virtual BOOL PreCreateWindow( 
   CREATESTRUCT& cs  
);

매개 변수

반환 값

창 작성을 계속 해야 하는 경우에 0이 아닌. 생성 실패를 나타내려면 0입니다.

설명

경고

CWnd::PreCreateWindow지금의 hMenu 구성원 할당 cs 에 this 메뉴가 있는 경우 포인터 NULL 스타일을 포함 하 고 WS_CHILD.적절 한 기능에 대 한 대화 상자 컨트롤이 아닌 ID 갖도록 NULL.

이 변경 관리/네이티브 interop 시나리오에서 충돌을 해결합니다.A TRACE 문에서 CWnd::Create 개발자의 문제를 경고 합니다.

직접이 함수를 호출 하지 않습니다.

이 함수의 기본 구현은 검사에 NULL 창 클래스 이름 및 적절 한 기본값을 대체. 수정이 멤버 함수를 재정의 하는 CREATESTRUCT 창을 만들기 전에 구조.

각 클래스에서 파생 된 CWnd 를 재정의 하는 자체 기능 추가 PreCreateWindow. 설계상 이러한 파생의 PreCreateWindow 다루지 않습니다. 각 클래스와 스타일 설계가 적절 한 스타일을 확인 하려면 응용 프로그램의 기본 클래스에 대 한 MFC 소스 코드를 검사할 수 있습니다. 재정의 하는 경우 , PreCreateWindow 응용 프로그램의 기본 클래스에 사용 되는 스타일 MFC 소스 코드에서 수집한 정보를 사용 하 여 필요한 기능을 제공 하는지 여부를 확인할 수 있습니다.

창 스타일을 변경에 대 한 자세한 내용은 의 MFC로 만든 창 스타일 변경.

예제

// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
   // Create a window without min/max buttons or sizable border
   cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;

   // Size the window to 1/3 screen size and center it
   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
   cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
   cs.y = ((cs.cy * 3) - cs.cy) / 2;
   cs.x = ((cs.cx * 3) - cs.cx) / 2;

   return CMDIChildWnd::PreCreateWindow(cs);
}

요구 사항

헤더: afxwin.h

참고 항목

참조

CWnd 클래스

계층 구조 차트

CWnd::Create

CWnd::CreateEx

CREATESTRUCT 구조체