/* Window Styles */
#define WS_OVERLAPPED 0x00000000L // 기본 윈도우
#define WS_POPUP 0x80000000L // 팝업 윈도우. WS_CHILD와 함께 쓸 수 없음.
#define WS_CHILD 0x40000000L // 자식 윈도우. WS_POPUP과 함께 쓸 수 없음.
#define WS_MINIMIZE 0x20000000L // 생성시 최소화
#define WS_VISIBLE 0x10000000L
#define WS_DISABLED 0x08000000L // 생성시 사용불가 상태
#define WS_CLIPSIBLINGS 0x04000000L
#define WS_CLIPCHILDREN 0x02000000L
#define WS_MAXIMIZE 0x01000000L // 생성시 최대화
#define WS_CAPTION 0x00C00000L /* WS_BORDER | WS_DLGFRAME */
#define WS_BORDER 0x00800000L // 얇은 경계선, 크기 조정 불가
#define WS_DLGFRAME 0x00400000L // 두꺼운 경계선, 타이틀바 삽입 불가
#define WS_VSCROLL 0x00200000L // 수직 스크롤바를 가진 윈도우
#define WS_HSCROLL 0x00100000L // 수평 스크롤바를 가진 윈도우
#define WS_SYSMENU 0x00080000L // 시스템 메뉴를 가진 윈도우
#define WS_THICKFRAME 0x00040000L // 두꺼운 경계선, 크기 조절 가능
#define WS_GROUP 0x00020000L // 버튼등의 컨트롤을 그룹 지정할 때에 사용
#define WS_TABSTOP 0x00010000L
#define WS_MINIMIZEBOX 0x00020000L // 최소화 버튼을 생성
#define WS_MAXIMIZEBOX 0x00010000L // 최대화 버튼을 생성
#define WS_TILED WS_OVERLAPPED
#define WS_ICONIC WS_MINIMIZE
#define WS_SIZEBOX WS_THICKFRAME
#define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
/* Common Window Styles */
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | \
WS_CAPTION | \
WS_SYSMENU | \
WS_THICKFRAME | \
WS_MINIMIZEBOX | \
WS_MAXIMIZEBOX)
#define WS_POPUPWINDOW (WS_POPUP | \
WS_BORDER | \
WS_SYSMENU)
#define WS_CHILDWINDOW (WS_CHILD)
/* Extended Window Styles */
#define WS_EX_DLGMODALFRAME 0x00000001L // 이중 경계선
#define WS_EX_NOPARENTNOTIFY 0x00000004L // 생성/소멸시 WM_PARENTNOTIFY 메세지를 보내지 않음
#define WS_EX_TOPMOST 0x00000008L // 항상 최상위 윈도우
#define WS_EX_ACCEPTFILES 0x00000010L // 드래그되는 파일을 받을 수 있는 윈도우
#define WS_EX_TRANSPARENT 0x00000020L
#if(WINVER >= 0x0400)
#define WS_EX_MDICHILD 0x00000040L // MDI 차일드 윈도우
#define WS_EX_TOOLWINDOW 0x00000080L // 툴바 윈도우
#define WS_EX_WINDOWEDGE 0x00000100L // 양각 윈도우
#define WS_EX_CLIENTEDGE 0x00000200L // 음각 윈도우
#define WS_EX_CONTEXTHELP 0x00000400L // 타이틀바에 ? 버튼 출력
#endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0400)
#define WS_EX_RIGHT 0x00001000L
#define WS_EX_LEFT 0x00000000L
#define WS_EX_RTLREADING 0x00002000L
#define WS_EX_LTRREADING 0x00000000L
#define WS_EX_LEFTSCROLLBAR 0x00004000L
#define WS_EX_RIGHTSCROLLBAR 0x00000000L
#define WS_EX_CONTROLPARENT 0x00010000L // Tab 키로 차일드 사이를 전환
#define WS_EX_STATICEDGE 0x00020000L // 사용자의 입력을 허용하지 않는 형태
#define WS_EX_APPWINDOW 0x00040000L
#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
#endif /* WINVER >= 0x0400 */
#if(_WIN32_WINNT >= 0x0500)
#define WS_EX_LAYERED 0x00080000
#endif /* _WIN32_WINNT >= 0x0500 */
#if(WINVER >= 0x0500)
#define WS_EX_NOINHERITLAYOUT 0x00100000L // Disable inheritence of mirroring by children
#define WS_EX_LAYOUTRTL 0x00400000L // Right to left mirroring
#endif /* WINVER >= 0x0500 */
#if(_WIN32_WINNT >= 0x0501)
#define WS_EX_COMPOSITED 0x02000000L
#endif /* _WIN32_WINNT >= 0x0501 */
#if(_WIN32_WINNT >= 0x0500)
#define WS_EX_NOACTIVATE 0x08000000L
#endif /* _WIN32_WINNT >= 0x0500 */