콤보박스 클릭 없이 콤보박스 목록 열기 - CB_SHOWDROPDOWN




 CB_SHOWDROPDOWN 메시지를 콤보박스에 보내면 된다.


cf) MSDN 에 CB_SHWODROPDOWN 대한 내용. -----------------------------------------------------------
CBS_DROPDOWN 또는 CBS_DROPDOWNLIST 스타일을 가진 콤보박스에서, 목록을 숨기거나 보여주기를 할때
응용프로그램은 CB_SHWODROPDOWN 메시지를 콤보박스에 보낸다.

이 메시지를 보내기 위해서는 SendMessage 를 사용한다. SendMessage 의 파라미터는 아래와 같다.

SendMessage((HWND) hWnd,              // 목적 대상 윈도우의 핸들,
                      CB_SHOWDROPDOWN,  // 보내려는 메시지
                      (WPARAM) wParam,      // 보여줄 상태
                      (LPARAM)  lParam,        // 사용되지 않는다. 반드시 0 값을 갖는다.

Parameter
wParam
   - drop-down 리스트 박스가 보여진 상태인지, 숨겨진 상태인지 지정한다.
     TRUE 값이면 리스트 박스를 보여주고, FALSE 값이면 리스트 박스를 숨겨준다.
lParam
   - 이 값은 사용되지 않느낟.

Return Value
   - 항상 TRUE 를 리턴한다.


Remark
  이 메시지는 CBS_SIMPLE 스타일의 콤보박스에는 영향을 끼치지 않는다.


Requirement
   Windows NT/2000/XP: Included in Windows NT 3.1 and later.
   Windows 95/98/Me: Included in Windows 95 and later.
   Header: Declared in Winuser.h; include Windows.h.

--------------------------------------------------------------------------------------------------------



Ex)

메시지 보내기 전



"콤보 열기" 버튼 클릭 메시지로 콤보박스를 열었다.


void CExpandComboDlg::OnBnClickedButton1()
{
    m_ComboBox.SendMessage(CB_SHOWDROPDOWN, TRUE, 0);
}






cf) http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8240&page=1
Posted by six605
,