API/MFC

비베의 MSCOMM.OCX VC++에서 불러쓰기

by MoA posted Jul 28, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

머.. 엑티브 엑슈로 된 Mscomm.ocx를 VC++에서 사용하는 팁!

(원래는 직접 제어 할려고 했으나 귀나니즘과 오늘 하루의 짜증나는 충격에 ... 머 귀찬아서지...)

 

VC++에서 ACTIVEX의 MSCOMM.OCX 사용방법


MSCOMM.OCX 추가!
1. Project ->Add To Project -> Components and Controls  
2. ..Microsoft Visual StudioCommonMSDev98GalleryRegistered ActiveX ControlsMicrosoft Communications Control 추가
3. Resource Editor 에서 Controls 에 보면 전화기 모양의 컨트롤이 생깁니다.
4. 끌어다가 Main Dialog 에 추가 합니다.
5. 전화기의  Property -> 버퍼 에서 RThreshold 를 1로 채크합니다.
 참고) 위에서 MSCOMM.OCX를 추가하면 비주얼씨뽈뽈이 자동으로 클래스를 등록 시켜준다... ^^


시리얼 포트 생성하기(OnInitDialog)
1. 클래스 위저드에서 MSCOMM의 컴포넌트에 변수 부여... ex) CMSComm m_msComm1; 요딴식으로 
2. 시리얼 포트 만들기 ex) m_msComm1.Create(NULL, WS_VISIBLE, CRect(0,0,10,10),this, IDC_MSCOMM_1);
3. RThreshold Enable  ex) m_msComm1.SetRThreshold(1);


통신 포트 속도 설정 및 포트 동작 활성화 하기

UpdateData(true);
 if (m_msComm2.GetPortOpen() == false) {
  m_msComm2.SetCommPort(m_nPort2+1);
  m_msComm2.SetSettings(m_szSetting2);
  m_msComm2.SetPortOpen(true);
 }
 if (m_msComm2.GetPortOpen() == false) 
  AfxMessageBox("통신포드 ?번이 정상적으로 오픈되지 않았습니다");
 

통신 포트 동작 중지 하기 

if (m_msComm1.GetPortOpen()) 
  m_msComm1.SetPortOpen(false);
recevie 루틴 
 ON_EVENT(CRS232_Port_2Dlg, IDC_MSCOMM_1, 1 /* OnComm */, OnOnCommMscomm1, VTS_NONE)
 void CRS232_Port_2Dlg::OnOnCommMscomm1() 
 {
  UpdateData(true);
  VARIANT receive1;
  receive1 = m_msComm1.GetInput();
  m_szReceive1 = m_szReceive1 + receive1.bstrVal;
  UpdateData(false);
 }


이상으로 비베만큼 간편한 VC++에서의 232 사용하기... ^^ 


http://blog.naver.com/stl2k/19290456