[배움]/MFC

콤버 박스 [ 펌 ]

도영수 2016. 3. 22. 20:50

visual studio 2005 기준으로 테스트 되었습니다.

 

1.  Dialog Editor에서 Combo Box를 드래그 하여 생성한다.

2.  아래 그림과 같이 화살표 버튼을 누르면 리스트 표시 영역 사이즈를 조정할 수 있다.

     리스트 개수에 맞게 마우스 드래그를 이용하여 늘려 준다.

 

3. 콤보 박스 리스트 추가 및 표현(출력) 방법

    3.1  콤보 박스에 마우스를 올려 놓고 오른쪽 버튼 클릭 [Add VariAble...] 선택!

    3.2  아래와 같은 화면이 나오면 control을 생성한다.

     

 

    3.3 OnInitDialog() 함수에 초기화 하는 내용을 추가한다.

          m_comboServerList.AddString(_T("1 channel"));                   //텍스트 추가
          m_comboServerList.AddString(_T("2 channel"));

          m_comboServerList.SetCurSel(0);                                //텍스트 선택

    3.4 현재 선택된 곳이 어디인지 알고 싶다면 아래와 같이 함수 사용

         index  =  m_comboServerList.GetCurSel();        //현재 선택된 텍스트 값을 int형으로 반환

 

4.  콤보 박스 변경 시 동작 하고 싶을 때...

   - Properties 창에 보면 Control Events 를 클릭하고  동작하고 싶은 내용을 추가한다.

    - 필요한 동작 코드를 안쪽에 삽입하면 내가 원하는 동작을 취한다.

 

5. 콤보 박스 Type 설정

   - Properties 창에 보면 Type이 있다.

 

Dropdown은 Edit가 가능한 상태이다.

Drop List는 선택만 가능한 상태이다.

 

6. 콤보박스 텍스트 가져오기

  CString temp;

   this->m_comboBox.GetLBText(this->m_comboBox.GetCurSel(), temp);

   //GetCurSel()을 호출하면 현재 몇번째 지정하고 있는지에 대한 정보만 넘어온다. 주의가 필요하다.

 

  

=======================================================================================

                              콤보 박스  클래스 함수들 리스트 (펌)

=======================================================================================

▷ CComboBox::AddString - 스트링을 더함. 
▷ CComboBox::CComboBox - ComboBox 오브젝트를 생성(구성). 
▷ CComboBox::Clear -현재 선택을 지움. 
▷ CComboBox::CompareItem - 새로운 리스트 항목의 상태적 위치를 결정. 
▷ CComboBox::Copy - 현재 선택을 Copy. 
▷ CComboBox::Create - CComboBox를 생성. 
▷ CComboBox::Cut - 제거된 텍스트를 복사. 
▷ CComboBox::DeleteItem- 항목이 Combo 박스에서 제거. 
▷ CComboBox::DeleteString - 스트링을 제거. 
▷ CComboBox::Dir - 리스트를 더함. 
▷ CComboBox::DrawItem - 양상이 변할 때 불려짐. 
▷ CComboBox::FindString - 첫 번째 스트링을 찾음. 
▷ CComboBox::FindStringExact - 첫 번째 리스트 박스 스트링을 찾음. 
▷ CComboBox::GetCount - 항목의 수를 회복. 
▷ CComboBox::GetCurSel - 현재 선택된 항목의 색인을 찾음 
▷ CComboBox::GetDroppedControlRect - 스크린 좌표를 되찾음. 
▷ CComboBox::GetDroppedState - 리스트 박스가 보일지를 결정. 
▷ CComboBox::GetEditSel - 시작과 끝나는 문자의 위치를 얻음. 
▷ CComboBox::GetExtendedUI - 디폴트, 확장 사용자 인터페이스의 결정. 
▷ CComboBox::GetItemData - 항목과 관련된 비트값을 회복. 
▷ CComboBox::GetItemDataPtr - 포인터로서 관련된 비트 값을 회복. 
▷ CComboBox::GetItemHeight - 리스트 항목의 높이를 회복. 
▷ CComboBox::GetLBText - 리스트 박스로 부터 스트링을 얻음.
▷ CComboBox::GetLBTextLen - 스트링의 길이를 지정. 
▷ CComboBox::InsertString - 스트링의 삽입. 
▷ CComboBox::LimitText - 텍스트의 길이를 제한. 
▷ CComboBox::MeasureItem - Combo 박스 치수를 결정하기 위해 불려짐. 
▷ CComboBox::Paste - 현재 커서 위치에서 편집 제어로 삽입. 
▷ CComboBox::ResetContent - 모든 항목의 제거. 
▷ CComboBox::SelectString - 스트링을 선택, 복사. 
▷ CComboBox::SetCurSel - 스트링을 선택. 
▷ CComboBox::SetEditSel - 편집 제어에서 문자들을 선택. 
▷ CComboBox::SetExtendedUI - 디폴트, 확장 사용자 인터페이스의 선택. 
▷ CComboBox::SetItemData - 항목과 관련된 값을 정함. 
▷ CComboBox::SetItemDataPtr - 포인터에 대한 관련된 값을 정함. 
▷ CComboBox::SetItemHeight- 높이를 지정. 
▷ CComboBox::ShowDropDown - 리스트 박스를 보여주거나 숨김.

'[배움] > MFC' 카테고리의 다른 글

[MFC] 각 클래스의 객체 포인터 얻어오기 [ 펌 ]  (0) 2016.04.19
Graphics 클래스  (0) 2016.04.12
ScreenToClient함수  (0) 2016.04.12
[Tip] 윈도우의 영역을 얻는 GetWindowRect() 함수에 대하여...  (0) 2016.04.12
MFC 펌  (0) 2016.03.23