【发布时间】:2015-01-26 14:11:15
【问题描述】:
我想增加组合框控件的高度。正在增加宽度。但是当我试图增加组合框高度时,它并没有增加。我很清楚我想增加控件的垂直高度。通常我创建的combobox控件如下。
如上图所示,红色边框的控件是组合框控件,我想增加高度。如果你可以看看下图的EDIT控件(注意编辑控件的大小)。类似于编辑控件的大小我必须增加组合框控件的高度。
CString str;
CSize sz;
CDC* pDC = m_comboCtrl.GetDC();
m_comboCtrl.GetLBText(0, str);
sz = pDC->GetTextExtent(str);
m_comboCtrl.SetItemHeight(-1,50);
增加垂直高度后,控件中的文本非常小,我们如何使文本适合控件(这类似于默认组合框控件中的普通文本)。但是控件中的文本为接下来,
任何人都可以让我知道如何使文本居中到控件中,如下图所示。上图中的文本在顶部,但我想让文本居中为标准控件中的文本。
【问题讨论】:
-
ComboBox_SetItemHeight 或相应的 MFC 实现 CComboBox::SetItemHeight。
index/nIndex必须为 -1 才能设置选择字段的高度。 -
@IInspectable ,通过 sz.cy=50 后,组合框高度增加了。我们不能使组合中的文本完全适合控件。高度修改后组合框控件是如原始帖子所示。请参考该图像并请告诉我,即使我增加了高度,我们也可以使文本适合控件。
-
@IInspectable,我已经更新了我的帖子,请看一下,请告诉我您的建议。
-
这是一个不同的主题,我建议为此提出一个新问题。由于您找到了最初问题的答案,请考虑留下答案(请参阅Can I answer my own question?)。
-
@IInspectable,关于组合中文本的垂直对齐,正如您建议将其作为一个单独的问题提出的那样,我做到了请参考此链接以了解该问题link,我要求您提供看看那个问题,请告诉我您的宝贵建议。
标签: visual-c++ mfc