윈도우 객체 생성 -> 구조체 변수 선언 초기화
내가 만든 WC
+3번 과정 정보 추가
ShowWindow(hwnd, SW_SHOW);
1) 나만의 윈도우 클래스 생성
① 윈도우 클래스 생성
WNDCLASS wc;
별도의 윈도우 클래스 생성
구조체 : WNDCLASS or WNDCCLASSEX
② 클래스 멤버 초기화
wc.style = 0; // CS_HREDRAW | CS_VREDRAW
wc.lpfnWndproc = DefWindowProc;
⑴ style
CS_HREDRAW | CS_VREDRAW⑵ lpfnWndProc
wc.hInstance = hInst;
wc.hIcon = LoadIcon(0, IDI_HAND);
wc.hCursor = LoadCursor(0, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
⑶ hInstance
⑷ hIcon
wc.hIconLoadIcon() 함수 사용⑸ hCursor
wc.hCursor : 윈도우에서 사용할 커서 지정. LoadCursor() 함수 사용0 : 커서IDC_ARROW : 문자 인수 / 숫자를 문자열화 시켜서 변환하기도 한다.⑹ hbrBackground
wc.hbrBackground③ 메뉴 유무
wc.lpszMenuName = 0;
wc.lpszClassName = TEXT("myclassID");
⑺ lpszMenuName
⑻ lpszClassName
2) 윈도우 클래스를 레지스트리에 저장 (등록)
ResisterClass(&wc);
[ 윈도우 클래스 저장소 ]
버튼 / 에디트 (미리 제공)
+내가 만든 WC
3) 윈도우 객체 생성
① 윈도우 객체 생성
HWND hwnd = CreateWindowEX( );
② 스타일 설정
HWND hwnd = CreateWindowEx(0, TEXT("MyclasssID"), TEXT("첫번째 윈도우"),
WS_OVERLAPPEDWINDOW &~ WS_THICKFRAME,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
0, 0, hInst, 0);
◾스타일 설정
WS_OVERLAPPEDWINDOW : 기본 제공 스타일WS_OVERLAPPEDWINDOW &~ WS_THICKFRAME : 기본 제공 스타일에서 크기 조정(THICKFRAME) 제외◾ 위치 및 크기 조정
100, -100, 500, 500 위치 및 크기 조정 CW_USEDEFAULT 위치 및 사이즈를 시스템에 맡김4) 윈도우 출력
ShowWindow(hwnd, SW_SHOW);