如題,請教各位了,ComboBox的邊框的死活去不掉啊
uj5u.com熱心網友回復:
試試從ComboBox派生新類 自己處理 WM_NCPAINT WM_PAINT 訊息uj5u.com熱心網友回復:
不能直接通過SetWindowLong來處理嗎?
uj5u.com熱心網友回復:
有些控制元件的某些屬性是不支持動態修改的。uj5u.com熱心網友回復:
我用SetWindowLong發現可以變成粗邊框,但是竟然去不掉原來的邊框,是不是要取得里面的Edit控制元件再處理
uj5u.com熱心網友回復:
ComboBox 有 2 個 子控制元件 “ list“ 和 edit 。uj5u.com熱心網友回復:
去除邊框,是否只要獲得edit的控制元件則可,如何獲得edit的控制元件句柄?
uj5u.com熱心網友回復:
vc6 可以// CSuperComboBox message handlers
HBRUSH CSuperComboBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// TODO: Change any attributes of the DC here
if (nCtlColor == CTLCOLOR_LISTBOX)
{//ListBox control,It is a COMBOLBOX,not a normal listbox.Besides,
//It is not a child window of combobox.
if (m_listbox.GetSafeHwnd() == NULL)
{
m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
//too later to change the sytle!
// no vscroll !!!
m_listbox.ModifyStyle(0,WS_HSCROLL|LBS_MULTICOLUMN);
//you have to create a new list box ?
//see "Dynamically re-creating a list box" code project.
RecreateComboLBox(&m_listbox);// no messages ?
}
}
if (nCtlColor == CTLCOLOR_EDIT)
{
m_hEdit=pWnd->GetSafeHwnd();
}
//
HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
VS 有函式 可以 直接 取
uj5u.com熱心網友回復:
哦,我試試,謝謝老板
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/54367.html
標籤:界面
上一篇:判斷SSH是否遠程登陸
