ref-p.560
1.새로 추가하려는 Dialog(버튼과 연동된 dialog, child dialog)에 class추가(우클릭 'Add Class')
Class name에 'CSetPortDlg"입력
2.새로 추가한 class의(CSetPortDlg) header를 (Add class시에 자동으로 이름 생성됨)
구현파일("HCIxxx.cpp)에 include 시킴(#include "SetPortDlg.h")
3.mother dialog(button이 위치한 dialog)에 button control resource를 추가하고
handler 함수 등록(우클릭"Add event handler"->function name은 자동 생성됨)
4.coding in the "xxx_Dlg.cpp" file.
ex)
void CHCI_ex_01_28_1Dlg::OnBnClickedButtonSetport()
{
CSetPortDlg Dlg;
INT_PTR nResult=Dlg.DoModal(); //이때 new dialog open. DoModal() function.
if(nResult==IDOK)
AfxMessageBox(_T("OK"));
}
Result
- I can see the result which i wanted.
- SetPort Dialog의 radio button 5개가 모두 1그룹처럼 동작하고 있어
총 5개의 button중 하나만 선택 가능하게 설정되어 있음 => 2그룹으로 나누어야 함.
각 그룹의 첫번째 radio button의 'Group style'(its property)을 'true'로 변경 (p.420)
=>solved!!!
TODO next is
1.In the main dialog
1)CMD1 button click시에 그 아래쪽의 List box에 해당 그룹의 명령어가 나열되게 한다.
2)CMD2 button click시에도 위와 동일한 형태로 동작되게 한다.
3)List box에 나열된 명령어중 하나를 click시에 해당 bit stream을 packetize한 후
이를 RS-232 module로 전송하고, 이 내용을 오른쪽 window(edit box or..)에 도시
4)3번의 반대 과정, 즉 de-packetize과정 역시 필요
2.In the SetPort Dialog
-port, speed setting 값이 'OK' 버튼 클릭시에 해당 설정값을 RS-232 module에 저장토록 한다
UpdateData()함수 이용??
댓글 없음:
댓글 쓰기