WinApi:添加样式到combobox

我试图添加CBS_OWNERDRAWFIXED样式到现有的combobox,我的代码不起作用,我不知道为什么。 我怀疑也许expression式oldStyle | addedStyle是无效的,但我不明白为什么。

HWND hwnd = CreateWindow( L"ComboBox", L"", WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST , 200, 200, 200, 200, parentHandle, (HMENU)1, GetModuleHandle(NULL), NULL); auto comboBoxStyle = GetWindowLongPtr(hwnd, GWL_STYLE); comboBoxStyle = comboBoxStyle | CBS_OWNERDRAWFIXED; SetWindowLongPtr(hwnd, GWL_STYLE, comboBoxStyle); 

输出只是普通的combobox,没有任何改变。

这种特殊的风格只能在创建时指定。 文档中提到:

CBS_OWNERDRAWFIXED

指定列表框的所有者负责绘制其内容,并且列表框中的项目都是相同的高度。 所有者窗口在创建组合框时收到WM_MEASUREITEM消息,在组合框的可视方面发生变化时收到WM_DRAWITEM消息。