我有一个窗口,上面有几个控件,但只有编辑控件忽略了视觉样式。我试图追查原因,但到目前为止还没有运气。这是它的样子:
正如所见,按钮和列表框控件具有正确的视觉风格。但是,编辑控件不会。几天前,我在更改了一堆与它无关的代码后应用了正确的样式,所以我知道这是可能的。
注意事项:
- 我试过打电话
InitCommonControls
但InitCommonControlsEx
没有成功。 - 我将 WS_EX_CLIENTEDGE 应用于编辑控件,并且始终打开扩展样式,即使它之前工作也是如此。
我已经包含了尽可能多的代码来帮助追踪这个问题。
从我的 TextBox 类(继承 Component):
protected:
virtual void OnRegistering(CreationParameters& createParams)
{
// this is passed in as the lpClassName parameter in
// CreateWindowEx() and the lpszClassName parameter in WNDCLASSEX
createParams.BaseClassName = WC_EDIT;
// passed as the dwStyle parameter in CreateWindowEx()
createParams.WindowStyles |= ES_AUTOHSCROLL | ES_AUTOVSCROLL;
// passed as the dwExStyle parameter in CreateWindowEx()
createParams.WindowExStyles |= WS_EX_CLIENTEDGE;
}
处理 WM_CTLCOLOREDIT 或 WM_ERASEBKGND 消息的问题与此有关吗?还是处理字体的问题?或者是其他东西?因为在这一点上我 100% 没有想法。