【问题标题】:How to set height of items in droplist CComboBox如何在下拉列表CComboBox中设置项目的高度
【发布时间】:2021-04-08 16:53:07
【问题描述】:

我正在尝试为CComboBox 下拉列表中的每个项目设置高度。我有 setitemheight API,但它没有改变列表中每个项目的高度。我也使用了SetFont,但也没有自动调整大小。

【问题讨论】:

  • 你试过SetItemHeight吗?
  • 要拥有可变高度项目,您必须设置CBS_OWNERDRAWVARIABLE 样式并准备好回复WM_MEASUREITEMWM_DRAWITEM 消息。

标签: windows winapi mfc win32gui


【解决方案1】:

问题似乎我已经覆盖了 DrawItem ,因此我在那里做了一些小改动来解决问题:

GetLBText(lpDrawItemStruct->itemID, strText);
lpDrawItemStruct->rcItem.bottom += 2;  // this solved my problem
dc.ExtTextOutW(
                lpDrawItemStruct->rcItem.left,
                lpDrawItemStruct->rcItem.top,
                ETO_OPAQUE,
                &lpDrawItemStruct->rcItem,
                strText,
                strText.GetLength(),
                NULL
                );

【讨论】:

  • 很高兴您得到了解决方案,感谢您的分享,如果您将它们标记为答案,我将不胜感激,这将对其他社区有益。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多