Короче, тот самый Аноним — это я.
Отвечаю на вопрос:
HWND выпадающего листбокса можно получить, сделав следующее:
1) Создать свой собственный экземпляр CComboBox и ассоциировать его с нужным ресурсом на форме;
2) В своем комбобоксе прописать в карте сообщений:
BEGIN_MESSAGE_MAP(CComboBoxExt, CComboBox)
//{{AFX_MSG_MAP(CComboBoxExt)
ON_MESSAGE(WM_CTLCOLORLISTBOX, OnCtlColorListBox)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
3) прописать саму функциевину:
LRESULT CComboBoxExt::OnCtlColorListBox(WPARAM wParam, LPARAM lParam)
{
HWND hWnd = (HWND)lParam;
if (m_hListBox == 0)
{
//HWND hWnd = (HWND)lParam;
if (hWnd != 0 && hWnd != m_hWnd)
{
m_hListBox = hWnd;
CWnd* pWnd = FromHandle( hWnd );
pWnd->ModifyStyle(WS_CHILD, WS_POPUP|WS_THICKFRAME);
}
}
return DefWindowProc(WM_CTLCOLORLISTBOX, wParam, lParam);
}
4) в h-файле для своего комбобокса:
HWND m_hListBox;
.....
//{{AFX_MSG(CComboBoxExt)
LRESULT OnCtlColorListBox(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG