2010년 2월 4일 목요일

MFC practice #6

How to connect a button with its relative List Box?

1. 다른 프로그램 예제 분석 결과:(로또 프로그램)
  -Button click시 edit box에 random 숫자 6개를 출력하는 방식.
    m_num1.Format("%d",Number[0]);
  -위 형식을 응용하여 try...
2. List Box에 우클릭'Add Variable'하여 m_CMD변수 추가(value category, CString type).
  m_CMD.Format(_T("AA"));
  -> 실행하여 button click시 원하는 결과 출력 안함.
  -> 둘의 차이는 edit box에 쓰느냐, list box에 쓰느냐의 차이라고 생각된다.
  -> 'Format()'이 아니라 다른것을 적용해야 할듯 함.. AddString??

Result
  - AddString() 이용하여 출력
    test.AddString(_T("Reset")); // control category로 Add variable, variable name is 'test'
  - but, AddString()은 버튼 클릭할때마다 Listbox에 문장이 추가되어 버리는 문제 발생
    -> test.ResetContent(); // 이 코드를 함수의 처음부분에 삽입하여 문제 해결..
  - OK. it works.
 
Summary
 - Category가 'value'이면 Format()을 사용하여 display하고
 - Category가 'Control'이면 AddString()을 사용하여 display.
 - edit box에는 Format()을 이용하여 display, List box에는 AddString()을 이용하여 display.
 - ListBox의 내용을 지우고 싶으면 ResetContent()이용

TODO next is
 - OGF button click시 해당 그룹의 OCF commands가 List box에 출력되는것 까지 현재 구현 완료.
 - mouse로 임의의 OCF 클릭시에
   // LBN_SELCHANGE 통지 메세지 이용(OnLbnSelchange()함수생성)
   // OnLbnSelchange()함수 내에, GetCurSel()함수 이용하여 클릭된 list의 index값을 int로 읽어옴.
 - 해당 HCI packet을 생성하고
 - 관련 내용을 오른쪽의 edit box에 출력(static type??)
 - 동시에 RS-232 모듈로 생성된 packet을 전달.
   
혹시 정리한 내용중 틀린게 있으면 누가 comment 좀 달아주세요 ㅎㅎ

댓글 없음:

댓글 쓰기