주 창 만들기

응용 프로그램이 생성 하는 첫 번째 창이 일반적으로 주 창입니다. 당신은 창 클래스, 창 이름, 창 스타일, 크기, 위치, 메뉴 핸들, 인스턴스 핸들 및 생성 데이터 지정 CreateWindowEx 함수를 사용 하 여 주 창을 만듭니다. 창 클래스를 등록 하 고 주 창 만들기 전에 클래스에 대 한 창 프로시저를 제공 해야 합니다 그래서 메인 윈도우 응용 프로그램 정의 창 클래스에 속해.

일반적으로 대부분의 응용 프로그램 WS_OVERLAPPEDWINDOW 스타일 명령을 사용 하 여 주 창을 만들 수 있습니다. 이 스타일 제공 창의 제목 표시줄, 창 메뉴 크기 조정 테두리 최소화 및 최대화 단추가. CreateWindowEx 함수는 창의 고유 하 게 식별 하는 핸들을 반환 합니다.

다음 예제에서는 응용 프로그램 정의 창 클래스에 속한 주 창을 만듭니다. 창 이름을 Main Window , 창의 제목 표시줄에 표시 됩니다. WS_OVERLAPPEDWINDOW 스타일과 WS_VSCROLL과 WS_HSCROLL 스타일을 결합 하 여 응용 프로그램 WS_OVERLAPPEDWINDOW 스타일에서 제공 하는 구성 요소 외에 가로 및 세로 스크롤 막대와 함께 메인 윈도우를 만듭니다. CW_USEDEFAULT 상수 4 발생 시스템 정의 기본 값을 초기 크기와 창의 위치를 설정합니다. 창 메뉴 핸들 대신 NULL을 지정 하 여 창 클래스에 대해 정의 된 메뉴를 할 것 이다.

HINSTANCE hinst; 
HWND hwndMain; 
 
/ / 메인 윈도우를 만듭니다. 
 
hwndMain = CreateWindowEx (0 / / 확장 스타일 "MainWClass" / / 클래스 이름 "주요 창" / / 창 이름 WS_OVERLAPPEDWINDOW |   / / 겹쳐진 창 WS_HSCROLL (ko) |        / / 가로 스크롤 막대 WS_VSCROLL, / / 수직 스크롤 막대 CW_USEDEFAULT, / / 기본 수평 위치 CW_USEDEFAULT, / / 기본 세로 위치 CW_USEDEFAULT, / 기본 너비 / CW_USEDEFAULT, / / 기본 높이 (HWND) NULL / / 부모 또는 소유자 창이 없습니다 (HMENU) NULL / 클래스 메뉴 사용 hinstance, / 인스턴스가 NULL 처리 /);                  / / 창 생성 데이터가 없는 경우 (! hwndMain) 반환 FALSE; 
 
/ / 프로그램에 의해 지정 된 플래그를 사용 하 여 창 보기 / / 그 응용 프로그램을 시작 하 고 응용 프로그램 전송 / / WM_PAINT 메시지. 
 
ShowWindow (hwndMain, SW_SHOWDEFAULT); 
UpdateWindow(hwndMain) 
 

앞의 예제 메인 윈도우를 만든 후 ShowWindow 함수를 호출 하는 확인 합니다. 이 때문에 시스템 메인 창을 만든 후 자동으로 표시 되지 않습니다 이루어집니다. ShowWindow, 응용 프로그램을 SW_SHOWDEFAULT 플래그를 설정 하려면 응용 프로그램을 시작 하는 프로그램 수를 전달 하 여 초기 메인 윈도우의 상태를 표시 합니다. UpdateWindow 함수 보냅니다 창 최초의 WM_PAINT 메시지.

 

Index