VS2010Ö®MFC´®¿ÚͨÐŵıàд½Ì³Ì - ͼÎÄ

VS2010Ö®MFC´®¿ÚͨÐŽ̳Ì

˵Ã÷£º±¾ÈËÒ²ÊǸոÕÈëÃÅMFC£¬²ÎÕÕһЩ×ÊÁϺÍÔ´´úÂë¾ÍʵÑé×öÁËÕâôһ¸ö´®¿ÚͨÐŹ¤¾ß£¡×ÊÁÏÀ´Ô´Ö÷ÒªÓм¦×ÄÃײ©¿ÍÍøÕ¾£¬ÀïÃæÓÐÏêϸµÄѧϰ½Ì³Ì£¡ÍøÉϵÄVS2010Ô´´úÂë¶¼±È½ÏÉÙ£¬½¨Òé´ó¼ÒÏÈÀí½âÒ»¸öÔ´´úÂëµÄ¹¹¼ÜºÍ½á¹¹ÔÙÉîÈëѧϰ£¡±¾Îĵµ¿ÉÒÔÒ»²½Ò»²½½ÌÄã´Ó½¨Á¢¹¤³Ìµ½ÊµÑéµ÷ÊÔ£¬ÊÇÒ»¸ö·Ç³£ÍêÕûµÄ½Ì³Ì£¡·Ç³£ÊʺÏÐÂÊÖÁ·Ï°£¡

¡ª¡ªºØÖÝѧԺ´óѧÉú´´Ð»ùµØÊµÑéÊÒ

ÔÚÖÆ×÷´®¿ÚͨÐÅËùÓöµ½µÄÎÊÌ⣺±à¼­¿òµÄ¹ö¶¯Ìõ²»»áËæ×ÅÊý¾ÝµÄ¸üб£³ÖÔÚ×îºóÒ»ÐУ¡ ½ÓÏÂÀ´ÎÒÃÇ¿ªÊ¼½²½âMFC´®¿ÚͨÐŵÄÖÆ×÷£º Ò»¡¢

´ò¿ªVS2010Èí¼þ£¬È»ºóн¨Ò»¸öÏîÄ¿£¬ÈçÏÂͼËùʾ£»

ÎÒÃÇÒªÓõ½¾ÍÊǶԻ°¿òÄ£¿é£¬ËùÒÔÑ¡ÔñÈçÏÂͼËùʾ

×î´ó»¯¿ò×îºÃ±ðÑ¡£¬ÒòΪ±¾ÈËÏÖÔÚҲû¸ã³öÀ´£»

µã»÷Íê³É¾Íн¨ºÃÒ»¸ö¹¤³ÌÁË£¬µÈ×ÊÔ´¾ÍÐ÷Ö®ºóÎÒÃǾͿÉÒÔ½øÐÐÖÆ×÷ÁË£»

ÎÒÃÇ¿ÉÒÔ¿´µ½¾ÍÐ÷Ö®ºóµÄ½çÃæÈçÏÂͼËùʾ£¬°´ÕÕ²½Öè°ÑÔ­À´µÄ¾²Ì¬Îı¾¿òºÍÈ·¶¨°´Å¥¡¢È¡Ïû°´Å¥É¾µô£»

¶þ¡¢ÎªÎÒÃǵĶԻ°¿òÌí¼Ó¿Ø¼þ

Ìí¼ÓÁ½¸ö×éºÏ±ß¿ò£¬²¢·ÅÖúÃλÖã»

ÐÞ¸Ä×éºÏ±ß¿òÏÔʾµÄÃû³Æ£»

ÔÚ×éºÏ±ß¿òÀïÃæÌí¼Ó±à¼­Îı¾¿ò£»

ÔÚÕâÒ»²½Ò»¶¨ÒªÐ¡ÐÄÑ¡ÔñÓұߵÄÊôÐÔ£»

ÕâÒ»²½ÊǰѴ®¿Ú¿Ø¼þÌí¼Óµ½¶Ô»°¿òÖÐÀ´£»

Ñ¡ÔñÎÒÃÇÐèÒªµÄ´®¿Ú¿Ø¼þÈçÏÂͼËùʾ£»

Èý¡¢Îª±à¼­¿ò£¬Combox¿ò£¬´®¿Ú¿Ø¼þÌí¼Ó±äÁ¿£»

ËÄ¡¢Îª°´Å¥ºÍ´®¿Ú¿Ø¼þÌí¼Ó³ÌÐòº¯Êý

void C´®¿ÚV2Dlg::OnBnClickedButtonOpen()//´ò¿ª´®¿Ú°´Å¥³ÌÐò {

// TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë? CString str,str1,n; CWnd *h1;

h1=GetDlgItem(IDC_BUTTON_OPEN);

if(!m_mscom.get_PortOpen()) {

m_comb2.GetLBText(m_comb2.GetCurSel(),str1);//È¡µÃËùÑ¡µÄ×Ö·û´®£¬²¢´æ·ÅÔÚstr1ÀïÃæ str1=str1+','+'n'+','+'8'+','+'1';

m_mscom.put_CommPort((m_comb1.GetCurSel()+1)); //Ñ¡Ôñ´®¿Ú m_mscom.put_InputMode(1); m_mscom.put_Settings(str1); m_mscom.put_InputLen(1024); m_mscom.put_RThreshold(1); m_mscom.put_RTSEnable(1);

//´ò¿ª´®¿Ú

m_mscom.put_PortOpen(true); if(m_mscom.get_PortOpen()) {

str=_T(\¹Ø±Õ´®¿Ú\); UpdateData(true);

//ÉèÖÃÊäÈ뷽ʽΪ¶þ½øÖÆ·½Ê½

//²¨ÌØÂÊΪ£¨²¨ÌØÂÊ×騢ºÏ¿ò£©ÎÞУÑ飬8Êý¾Ý룬1¸öֹͣλ //ÉèÖõ±Ç°½ÓÊÕÇøÊý¾Ý³¤¶ÈΪ1024 //»º³åÇøÒ»¸ö×Ö·ûÒý·¢Ê¼þ //ÉèÖÃRTÔÊÐí

//Õâ¾ä»°ºÜ¹Ø¼ü

//Ö¸Ïò¿Ø¼þµÄcaption

//¶¨Òå×Ö·û´®

GetDlgItemText(IDC_BUTTON_OPEN,str);

}

}

}

h1->SetWindowText(str);

//¸Ä±ä°´Å¥Ãû³ÆÎª¡®¡¯¹Ø±Õ´®¿Ú¡±

else { }

m_mscom.put_PortOpen(false); if(str!=_T(\´ò¿ª´®¿Ú)) { }

str=_T(\´ò¿ª´®¿Ú\); UpdateData(true); h1->SetWindowText(str);

//¸Ä±ä°´Å¥Ãû³ÆÎª´ò¿ª´®¿Ú

void C´®¿ÚV2Dlg::OnBnClickedButtonSend()//·¢ËÍÊý¾Ý°´Å¥³Ì { }

UpdateData(true);

//¸üпؼþÊý¾Ý

m_mscom.put_Output(COleVariant(m_Editsend));//°Ñ·¢Ëͱ༭¿òµÄÊý¾Ý·¢ËͳöÈ¥ // TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë?

void C´®¿ÚV2Dlg::OnBnClickedButtonClean()//Çå³ýÊý¾Ý°´Å¥³ÌÐò { }

m_EditReceive=_T(\); //¸ø½ÓÊձ༭¿ò·¢ËͿոñ·û UpdateData(false);

//¸üÐÂÊý¾Ý

// TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë

void C´®¿ÚV2Dlg::OnBnClickedButtonClose()//Í˳ö°´Å¥³ÌÐò { }

if(m_mscom.get_PortOpen())

m_mscom.put_PortOpen(false); CDialogEx::OnCancel();

// TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë

void C´®¿ÚV2Dlg::OnCommMscomm1()//´®¿Ú¿Ø¼þ³ÌÐò { }

if(m_mscom.get_CommEvent()==2) { }

char str[1024]={0}; long k;

VARIANT InputData=m_mscom.get_Input(); //¶Á»º³åÇø COleSafeArray fs;

fs=InputData; //VARIANTÐͱ䨤Á¿×ª»»ÎªCOleSafeArrayÐͱäÁ¿ for(k=0;k

fs.GetElement(&k,str+k); //ת»»ÎªBYTEÐÍÊý×é

m_EditReceive+=str; // //SetTimer(1,10,NULL); UpdateData(false);

½ÓÊÕµ½±à¼­¿òÀïÃæ //ÑÓʱ10ms

// TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë

// ´®¿ÚÑ¡Ôñ×éºÏ¿ò CString str; int i;

for(i=0;i<15;i++) {

str.Format(_T(\),i+1);

}

m_comb1.InsertString(i,str);

m_comb1.SetCurSel(0);//Ô¤ÖÃCOM¿Ú //²¨ÌØÂÊÑ¡Ôñ×éºÏ¿ò

CString str1[]={_T(\),_T(\),_T(\),_T(\),_T(\),_T(\), { }

m_comb2.SetCurSel(5);//Ô¤Öò¨ÌØÂÊΪ\

int judge_tf=m_comb2.AddString(str1[i]); if((judge_tf==CB_ERR)||(judge_tf==CB_ERRSPACE))

MessageBox(_T(\));

_T(\),_T(\),_T(\),_T(\),_T(\),_T(\)}; for(int i=0;i<12;i++)

дÍêÖ®ºó±àÒë³ÌÐò

Îå¡¢µ÷ÊÔÎÒÃÇдºÃµÄ´®¿Ú¹¤¾ß

ÎÒÃÇÏÂÃæÓÃ51µ¥Æ¬»úµ÷ÊÔһϣ¬½á¹ûÒ²Êdzɹ¦µÄ£»

m_Edit.SetSel(-1, -1);

this->SetDlgItemTextW(IDC_EDIT1,m_EditReceive);//½«m_EditReceiveÄÚÈÝÏÔʾµ½IDΪIDC_EDIT1µÄ±à¼­¿òµÄ×îºóλÖÃ

m_Edit.LineScroll(m_Edit.GetLineCount()-1,0);//½«´¹Ö±¹ö¶¯Ìõ¹ö¶¯µ½×îºóÒ»

ÐÞ¸ÄһϽÓÊձ༭¿òµÄÊôÐÔ£¬·¢Ëͱ༭¿ò²»ÓÃ×öÐ޸ģ»

ÔÙµ÷ÊÔһϷ¢ÏÖÎÊÌâ½â¾öÁË£¡

Áù¡¢ÐÞ¸Äͼ±êºÍÈí¼þÐÅÏ¢

ÎÒÃÇÈ¥µ½ÏîÄ¿ËùÔÚµÄÎļþ¼ÐÖУ¬ÈçÏÂͼËùʾ£»

The End£¡

×÷ÕߣºÁõС¶þ 2014Äê5ÔÂ2ÈÕÐÇÆÚÎå

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)