我创建的任何组合框似乎都停留在12个高度的对话框单元中。 Microsoft的对话框中控件的间距和大小调整指南指出组合框应该是14个对话框单位高。
我甚至尝试在记事本中编辑资源文件并在Visual Studio中重新编译而不打开资源编辑器 - 但组合框的大小仍然错误!
有什么想法吗?
答案 0 :(得分:2)
您为组合框specifies the size of the combo box when it is opened提供的高度。编辑控制部分的高度基于字体。 (或者如果您是画主,则根据您的项目大小。)
答案 1 :(得分:1)
在我的情况下,我已经处理了WM_WINDOWPOSCHANGING消息并改变了WINDOWPOS结构中的cy成员,它的工作原理可能有所帮助。
答案 2 :(得分:0)
您可以使用WTL :: CComboBox :: GetComboBoxInfo()获取组合组件HWND和大小,例如在OnInitDialog()中:
COMBOBOXINFO cbi = {sizeof COMBOBOXINFO};
CComboBox(GetDlgItem(ID_MYCOMBO)).GetComboBoxInfo(&cbi);
CRect rComboEdit = cbi.rcItem;
// adjust rComboEdit to your needs
CEdit(cbi.hwndItem).MoveWindow(rComboEdit);
答案 3 :(得分:0)