亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? scommtestdlg.cpp

?? 使用說明: 系統要求:WIN9X/ME/NT/2000 VC++6.0 且安裝了VC ACTIVEX控件(在VC6安裝時選上) 免費 簡介:在VC++6.0中用MSComm控件編程
?? CPP
字號:
// SCommTestDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SCommTest.h"
#include "SCommTestDlg.h"
#include ".\scommtestdlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSCommTestDlg dialog

CSCommTestDlg::CSCommTestDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSCommTestDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSCommTestDlg)
	m_strRXData = _T("");
	m_strTXData = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSCommTestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSCommTestDlg)
	DDX_Control(pDX, IDC_MSCOMM1, m_ctrlComm);
	DDX_Text(pDX, IDC_EDIT_RXDATA, m_strRXData);
	DDX_Text(pDX, IDC_EDIT_TXDATA, m_strTXData);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSCommTestDlg, CDialog)
	//{{AFX_MSG_MAP(CSCommTestDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON_MANUALSEND, OnButtonManualsend)
	//}}AFX_MSG_MAP
	ON_EN_CHANGE(IDC_EDIT_RXDATA, OnEnChangeEditRxdata)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSCommTestDlg message handlers

BOOL CSCommTestDlg::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)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		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
	if(m_ctrlComm.GetPortOpen())
		m_ctrlComm.SetPortOpen(FALSE);

	m_ctrlComm.SetCommPort(1);   //選擇com1
	if( !m_ctrlComm.GetPortOpen())
		m_ctrlComm.SetPortOpen(TRUE);//打開串口
	else
		AfxMessageBox("cannot open serial port");

	m_ctrlComm.SetSettings("9600,n,7,1"); //波特率9600,無校驗,8個數據位,1個停止位
	m_ctrlComm.SetRThreshold(1); 
	//參數1表示每當串口接收緩沖區中有多于或等于1個字符時將引發一個接收數據的OnComm事件
	m_ctrlComm.SetInputLen(0);  //設置當前接收區數據長度為0
	m_ctrlComm.GetInput();//先預讀緩沖區以清除殘留數據
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CSCommTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CSCommTestDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CSCommTestDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

BEGIN_EVENTSINK_MAP(CSCommTestDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CSCommTestDlg)
	ON_EVENT(CSCommTestDlg, IDC_MSCOMM1, 1 /* OnComm */, OnComm, VTS_NONE)
	//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CSCommTestDlg::OnComm() 
{
	// TODO: Add your control notification handler code here
	VARIANT variant_inp;
	COleSafeArray safearray_inp;
	LONG len,k;
	BYTE rxdata[2048]; //設置BYTE數組 An 8-bit integerthat is not signed.
	CString strtemp;
	if(m_ctrlComm.GetCommEvent()==2)     //事件值為2表示接收緩沖區內有字符
	{
		variant_inp=m_ctrlComm.GetInput();   //讀緩沖區
		safearray_inp=variant_inp;           //VARIANT型變量轉換為ColeSafeArray型變量
		len=safearray_inp.GetOneDimSize(); //得到有效數據長度
		for(k=0;k<len;k++)
			safearray_inp.GetElement(&k,rxdata+k);//轉換為BYTE型數組
		for(k=0;k<len;k++)             //將數組轉換為Cstring型變量
		{
			BYTE bt=*(char*)(rxdata+k);      //字符型
			strtemp.Format("%c",bt);         //將字符送入臨時變量strtemp存放
			m_strRXData+=strtemp;    //加入接收編輯框對應字符串    
		}
	}
	UpdateData(FALSE);           //更新編輯框內容
}


/*
void CSCommTestDlg::OnComm() 
{
	VARIANT m_input1;
	COleSafeArray m_input2;
	long length,i;
	BYTE data[1024];
	CString str;
//	int nn=m_ctrlComm.GetCommEvent();
//	str.Format("%d",nn);
//	AfxMessageBox(str);
	if(m_ctrlComm.GetCommEvent()==2)//接收緩沖區內有字符
	{
		m_input1=m_ctrlComm.GetInput();//讀取緩沖區內的數據
		m_input2=m_input1;//將VARIANT型變量轉換為ColeSafeArray型變量
		length=m_input2.GetOneDimSize();//確定數據長度
		for(i=0;i<length;i++)
			m_input2.GetElement(&i,data+i);//將數據轉換為BYTE型數組

		for(i=0;i<length;i++)//將數組轉換為Cstring型變量
		{
			BYTE a=* (char *)(data+i);
			str.Format("%c",a);
			m_strRXData+=str;
		}
	}
	UpdateData(FALSE);//更新編輯框內容
}

*/

void CSCommTestDlg::OnButtonManualsend() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE); //讀取編輯框內容
	m_ctrlComm.SetOutput(COleVariant(m_strTXData));//發送數據
	
}

void CSCommTestDlg::OnEnChangeEditRxdata()
{
	// TODO:  如果該控件是 RICHEDIT 控件,則它將不會
	// 發送該通知,除非重寫 CDialog::OnInitDialog()
	// 函數并調用 CRichEditCtrl().SetEventMask(),
	// 同時將 ENM_CHANGE 標志“或”運算到掩碼中。

	// TODO:  在此添加控件通知處理程序代碼
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品色综合| 首页综合国产亚洲丝袜| 一区二区三区四区在线播放 | 777色狠狠一区二区三区| 久久精品夜色噜噜亚洲a∨| 一区二区三区四区中文字幕| 国产精品一二三在| 欧美一区二区三区色| 亚洲欧洲美洲综合色网| 国产一区二三区好的| 欧美日韩一区三区四区| 亚洲欧美日韩国产综合在线| 国产精品99久久久久久宅男| 欧美一卡在线观看| 亚洲最快最全在线视频| 91在线云播放| 自拍偷拍欧美精品| 岛国精品在线播放| 欧美国产精品专区| 国产精品一区二区无线| 精品日韩欧美一区二区| 欧美a级一区二区| 欧美精品99久久久**| 夜夜揉揉日日人人青青一国产精品 | 中文字幕久久午夜不卡| 黄色小说综合网站| 日韩精品一区二区三区视频播放| 天天综合色天天综合色h| 欧美性受xxxx黑人xyx性爽| 一区二区三区免费网站| 在线观看网站黄不卡| 亚洲国产成人av好男人在线观看| 色吊一区二区三区| 亚洲国产综合91精品麻豆| 欧洲在线/亚洲| 丝袜美腿高跟呻吟高潮一区| 欧美喷潮久久久xxxxx| 日韩**一区毛片| 日韩精品一区二区三区在线播放| 国模冰冰炮一区二区| 久久久精品欧美丰满| 成人精品gif动图一区| 国产精品二三区| 欧美手机在线视频| 九九精品视频在线看| 国产欧美日韩在线看| 91在线码无精品| 亚洲成a人片综合在线| 日韩视频中午一区| 国产99精品视频| 日韩一区在线免费观看| 欧美日韩国产大片| 国内不卡的二区三区中文字幕| 久久综合九色综合97婷婷| 国产精品18久久久久久久久久久久| 国产农村妇女毛片精品久久麻豆 | 精品一区二区av| 国产精品沙发午睡系列990531| av中文字幕一区| 首页国产丝袜综合| 国产欧美日产一区| 欧美日韩国产另类一区| 激情综合五月婷婷| 一区二区在线观看不卡| 日韩视频不卡中文| 91蜜桃网址入口| 日韩电影一区二区三区| 国产精品久久久久久久久果冻传媒| 欧美性猛交一区二区三区精品| 久久99热狠狠色一区二区| 自拍偷拍国产精品| 欧美成人三级电影在线| 91久久精品一区二区三| 国产乱人伦精品一区二区在线观看 | 在线不卡a资源高清| 国产精品1区2区| 日本aⅴ精品一区二区三区| 中文字幕精品一区二区精品绿巨人| 在线成人av影院| 在线亚洲高清视频| 国产成人亚洲综合色影视| 日韩精品欧美成人高清一区二区| 国产精品久久久一本精品| 日韩一区二区免费高清| 91色乱码一区二区三区| 国产在线视频一区二区| 日韩高清在线一区| 夜夜嗨av一区二区三区中文字幕| 久久久亚洲欧洲日产国码αv| 欧美日韩二区三区| 在线观看国产精品网站| 99re6这里只有精品视频在线观看| 美脚の诱脚舐め脚责91| 久久精品免费观看| 一区二区三区av电影| 国产欧美日韩中文久久| 久久综合999| 精品美女在线观看| 69精品人人人人| 欧美在线免费视屏| 日本久久电影网| 91亚洲精华国产精华精华液| 成人深夜视频在线观看| 国产美女在线观看一区| 久久疯狂做爰流白浆xx| 日韩成人精品在线| 爽好久久久欧美精品| 午夜电影久久久| 性做久久久久久免费观看| 一区二区三区四区在线| 一区二区成人在线观看| 亚洲亚洲人成综合网络| 亚洲精品视频免费观看| 樱花影视一区二区| 亚洲一区二区三区四区在线免费观看| 亚洲免费在线视频| 亚洲激情校园春色| 亚洲午夜一二三区视频| 午夜成人免费视频| 久久成人18免费观看| 国产一区二区伦理| 成人在线视频一区| 色综合久久久久久久久久久| 91小视频在线观看| 欧美日韩不卡视频| 欧美mv日韩mv亚洲| 中文字幕精品—区二区四季| 亚洲素人一区二区| 亚洲成av人片www| 日本美女一区二区三区| 激情图片小说一区| 丁香一区二区三区| 91福利国产成人精品照片| 欧美在线制服丝袜| 精品99久久久久久| 亚洲图片激情小说| 亚洲图片欧美色图| 蜜桃视频一区二区三区| 激情久久五月天| 色婷婷综合久久久中文一区二区| 欧美日韩高清一区| 国产日韩高清在线| 一区二区高清在线| 美女看a上一区| 成人午夜在线免费| 欧美剧情电影在线观看完整版免费励志电影| 88在线观看91蜜桃国自产| 国产片一区二区| 首页亚洲欧美制服丝腿| 国产成a人亚洲精| 欧美午夜精品久久久久久超碰| 精品福利在线导航| 亚洲一区二区五区| 国产精品一区二区在线看| 欧美色电影在线| 国产午夜亚洲精品午夜鲁丝片| 亚洲欧美一区二区久久| 九九国产精品视频| 91精品1区2区| 欧美国产视频在线| 日韩成人一级大片| 色老综合老女人久久久| 久久午夜羞羞影院免费观看| 一区二区三区四区在线播放| 3d动漫精品啪啪1区2区免费| 亚洲精品在线观看网站| 亚洲美女视频在线观看| 国产一区啦啦啦在线观看| 在线看日韩精品电影| 国产拍欧美日韩视频二区| 免费久久精品视频| 欧美性受xxxx黑人xyx性爽| 国产精品色哟哟| 国产精品资源网| 欧美一级艳片视频免费观看| 亚洲美女视频在线观看| 99久久综合国产精品| 久久久国产午夜精品 | 91精品国产综合久久福利软件| 中文字幕一区二区三| 国产伦精品一区二区三区在线观看| 色综合视频一区二区三区高清| 国产亚洲欧美激情| 精品亚洲免费视频| 精品日产卡一卡二卡麻豆| 天天综合网 天天综合色| 精品视频免费在线| 午夜精品福利一区二区三区av | 欧美一级片免费看| 亚洲va国产va欧美va观看| 91欧美一区二区| 国产精品区一区二区三区| 国产精品原创巨作av| 久久久久久影视| 国产乱人伦偷精品视频免下载| 日韩欧美第一区| 国内外精品视频| 久久久精品一品道一区| 国产东北露脸精品视频| 国产色综合一区|