'DropDown size'에 해당되는 글 1건
- 2009.12.29 [MFC] CComboBox : 내용길이에 따라 DropDown박스 사이즈 조정
320x100
[MFC] CComboBox : 내용길이에 따라 DropDown박스 사이즈 조정
Posted on 2009. 12. 29. 16:11
Filed Under Visual C++
// Message Map
ON_CBN_DROPDOWN(IDC_COMBO1, OnDropdownCombo1)
// 사용
void CTestDlg::OnDropdownCombo1()
{
gfSetDroppedWidthCb(m_Combo, this);
}
// 자동 리사이즈 함수
inline void gfSetDroppedWidthCb(CComboBox& _cb, CWnd* _pwndParent)
{
int nNumEntries = _cb.GetCount();
int nWidth = 0;
CString str;
CClientDC dc(_pwndParent);
int nSave = dc.SaveDC();
dc.SelectObject(_pwndParent->GetFont());
int nScrollWidth = ::GetSystemMetrics(SM_CXVSCROLL);
for (int i = 0; i < nNumEntries; i++)
{
_cb.GetLBText(i, str);
int nLength = dc.GetTextExtent(str).cx + nScrollWidth;
nWidth = __max(nWidth, nLength);
}
nWidth += dc.GetTextExtent(_T("0")).cx;
dc.RestoreDC(nSave);
_cb.SetDroppedWidth(nWidth);
}
천과장님~ 땡스얼랏! >_</
<적용전>
<적용 효과>
반응형