16,548
社区成员




void CMyComboBox::OnPaint()
{
CPaintDC dc(this);
COMBOBOXINFO cbi = {sizeof(COMBOBOXINFO), 0};
::GetComboBoxInfo(m_hWnd, &cbi);//得到combobox信息
DWORD uState = cbi.stateButton == STATE_SYSTEM_PRESSED ? DFCS_FLAT : 0;
::DrawFrameControl(dc.m_hDC, &cbi.rcButton, DFC_SCROLL, DFCS_SCROLLDOWN | uState);//根据下箭按纽状态画下箭按纽
::FillRect(dc.m_hDC, &cbi.rcItem, ::GetSysColorBrush(COLOR_WINDOW));//填充白色
CFont* font = GetParent()->GetFont();
::SelectObject(dc.m_hDC, font->m_hObject);//选用父窗口的字体
CString str;
GetLBText(GetCurSel(), str);//得到当前选择项文本
::DrawText(dc.m_hDC, str, strlen(str), &rcItem, DT_VCENTER | DT_SINGLELINE | DT_WORD_ELLIPSIS);//画文本
}
2、在父窗口上建立成员变量,CMyComboBox m_MyCombo,绑定到一个combobox控件上,运行时你会发现combobox变样了,没有了边框,只剩下个白色的矩形。
----------------------------
请教如何去掉这个白色矩形区域?