what you require seems to be a bit crazy. So here is a crazy solution to it:)
When you click on the down arrow button, u are displaying the list box on top of some control(s) rttt??.
so at that time hide the control under the list box and show the list box.
MyCRAZYDlg::OnDownArrowBttnClck()
{
.....
GetDlgItem( IDC_MY_CNTRL )->ShowWindow( SW_HIDE );
GetDlgItem( IDC_MY_LISTBOX )->ShowWindow( SW_SHOW );
.......
}
when u select something from the list box you want the selected item to be displyed in the edit box and hide the list box rttt??
at that time show the control(s) under the list box and hide the listbox....
MyCRAZYDlg::OnSelchangeList()
{
.....
GetDlgItem( IDC_MY_CNTRL )->ShowWindow( SW_SHOW );
GetDlgItem( IDC_MY_LISTBOX )->ShowWindow( SW_HIDE);
.......
}