我有一个父窗口和几个子窗口附加到此。通过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
相同的过程,相同的线程! –