강좌 & 팁
지난주에 다이얼로그 베이스 프로젝트를 생성 하고 UI 컨트롤들을 배치 후 변수 등록까지 해봤습니다.
하지만 껍질만 있을뿐 아무런 동작을 하지 않습니다.
이번시간에는 배치된 컨트롤중 COMBO BOX 에 COM 포트 리스트와 보레이트 리스트를 넣는 작업을 해보겠습니다.
- class wiew 화면에서 CserialDlg 클래스를 선텍 하면 해당 클래스의 각 메소드 들이 아래에 나오는데 그중 OnInitDialog(void)
함수를 더블클릭 합니다.
- 이 함수내에서 콤보박스에 표시할 문자 리스트를 아래 붉은색 과 같이 넣어주면 됩니다.
BOOL CserialDlg::OnInitDialog() { CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX
& 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX
< 0xF000);
CMenu* pSysMenu
= GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX,
strAboutMenu); } }
// Set the icon for this dialog. The framework does this automatically // when the
application's main window is not a dialog SetIcon(m_hIcon,
TRUE); // Set big icon SetIcon(m_hIcon,
FALSE); // Set small icon
// TODO: Add extra initialization here m_combo_comport_list.AddString(_T("COM1")); m_combo_comport_list.AddString(_T("COM2")); m_combo_comport_list.AddString(_T("COM3")); m_combo_comport_list.AddString(_T("COM4"));
m_combo_baudrate_list.AddString(_T("9600")); m_combo_baudrate_list.AddString(_T("19200")); m_combo_baudrate_list.AddString(_T("115200"));
return TRUE; // return TRUE unless you set the focus to a control } |
- 지난 시간에 콤보박스를 만들 때 생성해둔 맴버변수를 이때 사용 하게 됩니다.
참고 :
- OnInitDialog 함수는 처음 다이얼로그가 생성되면 초기화 하는 부분 입니다. 콤보박스는 처음부터 있어야하기 때문에 여기서
초기화 해 줍니다.
- com 포트의 이름을 넣을 때는 반드시 COM1 과 같은 형태로 넣고 보율도 위와 같은 형태로 넣어야 합니다.
* 컴파일 후 실행 해 봅니다.
- COM 포트를 선택 할 수 있게 되었습니다.
좋은 강의 감사합니다
너무 친절해서 따라만해도 될꺼같네요 ㅠ !!