이번 포스트는 지난시간에 이어서 SDI에 차일드윈도우 추가(텍스트 출력), 각종컨트롤(버튼,리스트박스,프로그레스바)를 추가하고,
MFC기본제공되는 메세지핸들러함수말고, 사용자 추가 이벤트 메세지 핸들러 함수로 버튼에 따라서, 다른 컨트롤을 제어해 보겠습니다.
예- 이 포스트하단의 SDIView.cpp 파일의 제일 하단참조)
...
void CSDIView::OnDecreaseButton() //SDI_2
{
int count = m_ListBox.GetCount();
if (count > 0)
{
m_ListBox.DeleteString(count - 1);//리스트아이템 삭제
m_ProgressBar.SetPos(count - 1);//프로그레스바 감소
}
else
{
AfxMessageBox(_T("지울 아이템이 없습니다."));
}
}
void CSDIView::OnIncreaseButton() //SDI_2
{
int count = m_ListBox.GetCount();
if (count < 10)
{
CString sCount; //문자와 숫자 합치기
sCount.Format(_T("%i"), count+1);//int형을 문자형으로 변환
m_ListBox.AddString(_T("윈도우 프로그래밍"+sCount+"!")); //리스트스트링 추가
m_ProgressBar.SetPos(count + 1);//프로그레스바 감소
}
else
{
AfxMessageBox(_T("더 이상 추가할 수 없습니다."));
}
}
...
결과는 아래와 같은 메인프레임Window와 뷰Window가 배치됩니다.
실행결과파일: SDI.zip (압축을 푸시면, SDI.exe 실행파일이 나옵니다.)
자세한 소스는 아래와 같습니다. 소스 내용중에 //주석에서 [ SDI_2 ] 로 검색하시면 해당 추가/수정내용을 확인 하실 수 있습니다.
다음에는 본격적인 MFC프레임웍을 실습해 보겠습니다.
VC++ 상품결제폼_SDI실습3 (0) | 2018.03.08 |
---|---|
VC++ 메모장만들기_MDI실습_1 (0) | 2018.03.07 |
VC++ SDI실습_1 (0) | 2018.03.04 |
VC++ API프로그램_1 (0) | 2018.03.02 |
데이터셋 엑셀다운로드, CSV다운로드 2가지 (0) | 2012.10.03 |
댓글 영역