본문 바로가기
C++ 200제/코딩 IT 정보

MFC 콤보박스 값 가져오기 (선택된 데이터 불러오기)

by vicddory 2018. 7. 27.

MFC 콤보박스 값 가져오기 (선택된 데이터 불러오기)


콤보박스 예제 소스는 간단합니다.


아래 코드를 그대로 이용하세요.


1
2
3
4
5
6
7
CString str;
int n; // 인덱스
 
= m_ctrlccbox.GetLBTextLen(m_ctrlccbox.GetCurSel());
m_ctrlccbox.GetLBText(m_ctrlccbox.GetCurSel(), m_str.GetBuffer(n));
 
m_str.ReleaseBuffer();
cs


컨트롤 박스(Control Box)의 컨트롤 변수 ctrlccbox의 텍스트와 길이를 얻어오는게 중점입니다.


문자열에 버퍼를 미리 할당해 메모리 누수를 막을 수도 있죠. 단지, 저렇게 얻어온 문자열을 잘라서 사용할 경우(AfxExtractSubString())엔 반드시 버퍼를 먼저 해제해 줘야 합니다.


개인적으론 GetCurSel() 같이 함축적인 이름의 함수는 좋아하질 않습니다. GetCurSel을 GetCurrentSelect로 길게 늘여도 상관없을텐데 말이죠.


MFC는 항상 뭔가 아쉽네요.


MFC 콤보박스 값 가져오기 (선택된 데이터 불러오기)

댓글