标签:des style blog color sp strong on div log
大部分时候CComboBox的风格由设计时来选定,但有些时候也需由程序动态的改变其风格;这时我们发现用其自带的ModifyStyle函数并不会起作用,::GetWindowLong获取其风格然后再加入或去除我们的目标风格再用::SetWindowLong我们发现也并不起作用;那么如何实现动态的改变其风格呢?
我们知道CComboBox中有一个Create函数用于创建CComboBox实例;这样我们就可以用Create方法来动态的改变其风格,只是在Create之前我们需要把原来的窗口给销毁而已;具体代码如下:
CRect rRect; UINT unID=0; DWORD dwStyleEx = 0; CFont * pfont=NULL; pfont=m_rGHS.GetFont(); dwStyleEx = m_rGHS.GetExStyle(); //去除原来之CBS_DROPDOWNLIST风格,加入CBS_DROPDOWN风格 dwStyleEx = dwStyleEx & ~CBS_DROPDOWNLIST | CBS_DROPDOWN; m_rGHS.GetWindowRect(&rRect); ScreenToClient(&rRect); unID=m_rGHS.GetDlgCtrlID(); m_rGHS.DestroyWindow(); m_rGHS.Create(dwStyleEx, rRect, this, unID); m_rGHS.ShowWindow(SW_SHOW); m_rGHS.SetFont(pfont, TRUE);
标签:des style blog color sp strong on div log
原文地址:http://www.cnblogs.com/habibah-chang/p/4168629.html