CComboBox::SetHorizontalExtent
Устанавливает толщину (в точках), которые являются частью списка полей со списком может быть прокручена по горизонтали.
void SetHorizontalExtent(
UINT nExtent
);
Параметры
- nExtent
Указывает количество пикселей, на которое является частью списка полей со списком может быть прокручена по горизонтали.
Заметки
Если ширина списка меньше, чем это значение, то горизонтальная полоса прокрутки по горизонтали прокручивает элементы в списке.Если ширина списка равна или превышает это значение, то скрыта или, если поле со списком имеет стиль CBS_DISABLENOSCROLL, то отключена горизонтальная полоса прокрутки.
Пример
// Find the longest string in the combo box.
CString str;
CSize sz;
int dx = 0;
TEXTMETRIC tm;
CDC* pDC = m_pComboBox->GetDC();
CFont* pFont = m_pComboBox->GetFont();
// Select the listbox font, save the old font
CFont* pOldFont = pDC->SelectObject(pFont);
// Get the text metrics for avg char width
pDC->GetTextMetrics(&tm);
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
m_pComboBox->GetLBText(i, str);
sz = pDC->GetTextExtent(str);
// Add the avg width to prevent clipping
sz.cx += tm.tmAveCharWidth;
if (sz.cx > dx)
dx = sz.cx;
}
// Select the old font back into the DC
pDC->SelectObject(pOldFont);
m_pComboBox->ReleaseDC(pDC);
// Set the horizontal extent so every character of all strings can
// be scrolled to.
m_pComboBox->SetHorizontalExtent(dx);
Требования
Header: afxwin.h