부모 창과 자식 창이 몇 개 있습니다. SpyXX를 사용하면 아이들이 모두 특정 스타일 클래스를 가지고 있음을 알 수 있습니다 (ChildWindowClass
).기존 자식 클래스로 창 (CreateWindowEx)을 만들 수 없습니다.
이 특정 클래스의 이름으로 창을 만들면 CreateWindowEx
은 NULL
핸들을 반환합니다. 내 자신의 클래스를 사용하고 부모를 설정하면 창은 하위 창이지만 다른 모든 하위 클래스와는 다른 클래스를가집니다.
내가 스타일을 얻은 다음 설정하면 스타일은 발견되지만 내 자식 창에는 설정되지 않습니다. 아직 CreateWindowEx
HWND firstChild = FindWindowEx(MyClass::_parent, NULL, szFsxChildWindowClass, NULL);
LONG childStyle = GetWindowLong(firstChild, GWL_STYLE);
...
SetWindowLong(MyClass::_child,GWL_STYLE, childStyle);
저에 의해 등록되지 않은 ChildWindowClass
에 사용되는 스타일을 보여주고, 그래서 그것을 등록하는 방법을 대조하는 수 없습니다. 그렇다면 어떻게하면 내 창에 대해이 스타일을 설정할 수 있습니까?
- 요청에 따라 편집 전화 -
child = CreateWindowEx(WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR,
szWindowClass, // this is where I want to place the name of the child class
_T("Test"),
WS_CHILDWINDOW | WS_VISIBLE,
x,y, // 0,0
w, h, // 500,100
MyClass::_parent, // parent
NULL,
MyClass::_hInstance, // must this be 0??
NULL
);
CreateWindowEx 호출을 우리에게 보여줘야합니다. –
또한, 사용하려는 창 클래스가 프로세스 공간에 등록되어 있는지 확인하십시오. – nielsj
동일한 프로세스, 동일한 스레드! –