관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

CreateWindowEx 본문

AUTOHOTKEY/DLL 관련

CreateWindowEx

님투 2007. 10. 25. 02:34
반응형
원형

HWND CreateWindowEx(DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HANDLE hInstance, LPVOID lpParam);

MFC 원형

BOOL CWnd::CreateEx( DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, HMENU nIDorHMenu, LPVOID lpParam = NULL );

BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, LPVOID lpParam = NULL);

인수

▶dwExStyle : 생성될 윈도우의 확장 스타일을 지정한다.

스타일 설명
WS_EX_DLGMODALFRAME 이중 경계선을 가진 윈도우를 만든다.
WS_EX_NOPARENTNOTIFY 생성되거나 파괴될 때 부모 윈도우에게 WM_PARENTNOTIFY 메시지를 보내지 않도록 한다.
WS_EX_TOPMOST 모든 윈도우보다 수직적으로 위에 있는 윈도우를 만든다. 비활성화된 상태에서도 다른 윈도우에 가려지지 않는다. 이 속성을 실행중에 변경할 때는 SetWindowLong 함수를 사용할 수 없으며 SetWindowPos 함수를 사용해야 한다.
WS_EX_ACCEPTFILES 드래그되는 파일을 받을 수 있다. 이 속성을 지정하지 않고 윈도우를 생성했을 경우 DragAcceptFiles 함수로 실행중에 이 속성을 변경할 수 있다.
WS_EX_TRANSPARENT 형제 윈도우가 다 그려지기 전에 그려지지 않아 투명하게 보이는 윈도우를 만든다.
WS_EX_MDICHILD MDI 차일드 윈도우를 만든다.
WS_EX_TOOLWINDOW 플로팅 툴바 형식의 윈도우를 만든다. 타이틀 바의 높이가 보통 윈도우보다 낮으며 작은 폰트를 사용한다. 툴 윈도우는 타스크 바에 나타나지 않으며 Alt+Tab키로 전환할 수도 없다. 시스템 메뉴 아이콘은 없으나 Alt+Space키로 시스템 메뉴는 호출할 수 있다.
WS_EX_WINDOWEDGE 양각 모양의 경계선을 가진 윈도우를 만든다.
WS_EX_CLIENTEDGE 작업영역이 쑥 들어간 음각 모양으로 만든다.
WS_EX_CONTEXTHELP 타이틀 바에 ?표 버튼을 출력한다. 이 버튼은 도움말 제공에 사용된다.
WS_EX_LAYERED 2000에서 추가된 속성이며 레이어드 윈도우를 생성한다.
WS_EX_RIGHT 한국어에는 적용되지 않는 스타일
WS_EX_LEFT 한국어에는 적용되지 않는 스타일
WS_EX_RTLREADING 한국어에는 적용되지 않는 스타일
WS_EX_LTRREADING 한국어에는 적용되지 않는 스타일
WS_EX_LEFTSCROLLBAR 한국어에는 적용되지 않는 스타일
WS_EX_RIGHTSCROLLBAR 한국어에는 적용되지 않는 스타일
WS_EX_CONTROLPARENT Tab키로 차일드 사이를 전환할 수 있도록 한다.
WS_EX_STATICEDGE 사용자의 입력을 받아들이지 않는다는 의미의 삼차원 장식을 한다.
WS_EX_APPWINDOW 윈도우가 보일 때 강제로 타스크 바 위에 있도록 한다.
WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)복합 속성
WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST) 복합 속성

▶나머지 인수 : CreateWindow와 동일하다.

리턴

윈도우 생성에 성공했으면 생성된 윈도우의 핸들을 리턴하며 에러 발생시 NULL을 리턴한다.

설명

윈도우를 생성하는 기능은 CreateWindow 함수와 동일하되 확장 스타일을 지정하는 dwExStyle 멤버가 있다는 점만 다르다. CreateWindow 함수는 dwExStyle이 0인 매크로 함수로 정의되어 있다.

예제 1

다음 예제는 항상 위에 있으며 툴 윈도우 모양의 타이틀 바를 가진다. 툴 윈도우는 타이틀 바의 높이가 낮으며 타스크 바에 나타나지 않고 Alt+Tab으로 작업 전환을 할 수 없다.

hWnd=CreateWindowEx(WS_EX_TOPMOST | WS_EX_TOOLWINDOW, lpszClass,lpszClass,WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, NULL,(HMENU)NULL,hInstance,NULL);
참고함수

CreateWindow

플렛폼

95이상

참조
반응형
Comments