본문 바로가기

잡다한이야기

VS2008 MFC 를 이용한 시리얼 통신 프로그램 만들기(2)

반응형

지난주에 다이얼로그 베이스 프로젝트를 생성 하고 UI 컨트롤들을 배치 후 변수 등록까지 해봤습니다.

하지만 껍질만 있을뿐 아무런 동작을 하지 않습니다.


이번시간에는 배치된 컨트롤중 COMBO BOX 에 COM 포트 리스트와 보레이트 리스트를 넣는 작업을 해보겠습니다.


1.jpg


- 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 과 같은 형태로 넣고 보율도 위와 같은 형태로 넣어야 합니다.



* 컴파일 후 실행 해 봅니다.

2.jpg

- COM 포트를 선택 할 수 있게 되었습니다.

 

http://forum.falinux.com/zbxe/index.php?_filter=search&mid=lecture_tip&search_target=user_name&search_keyword=%EC%84%A0%EC%84%B1%ED%83%9C&page=4&document_srl=571843

원본글은 위의 주소로 들어가시면 됩니다.

반응형