티스토리 툴바


달력

02

« 2012/02 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  •  
  •  
  •  
콤보박스 클릭 없이 콤보박스 목록 열기 - 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
TAG
Posted by six605