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

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

?? cfgcanview.cpp

?? CAN__組建現場總線系統設計技術(光盤)
?? CPP
字號:
// CfgCANView.cpp : implementation file
//

#include "stdafx.h"
#include "VCStyle.h"
#include "CfgCANView.h"

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

#include "ModelDlg.h"

#include "data.h"
/////////////////////////////////////////////////////////////////////////////
// CCfgCANView

IMPLEMENT_DYNCREATE(CCfgCANView, CFormView)

CCfgCANView::CCfgCANView()
	: CFormView(CCfgCANView::IDD)
{
	//{{AFX_DATA_INIT(CCfgCANView)
	m_baud = -1;
	//}}AFX_DATA_INIT
}

CCfgCANView::~CCfgCANView()
{
}

void CCfgCANView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCfgCANView)
	DDX_Control(pDX, IDC_BUTTON_SAVE, m_btnsave);
	DDX_Control(pDX, IDC_BUTTON_MODIFY, m_btnmodify);
	DDX_Control(pDX, IDC_BUTTON_DEL, m_btndel);
	DDX_Control(pDX, IDC_BUTTON_ADD, m_btnadd);
	DDX_Control(pDX, IDC_LIST_MODELS, m_MdList);
	DDX_CBIndex(pDX, IDC_COMBO_BAUD, m_baud);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCfgCANView, CFormView)
	//{{AFX_MSG_MAP(CCfgCANView)
	ON_BN_CLICKED(IDC_BUTTON_ADD, OnAddModel)
	ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnModifyModel)
	ON_BN_CLICKED(IDC_BUTTON_DEL, OnDelModel)
	ON_BN_CLICKED(IDC_BUTTON_SAVE, OnSaveCfg)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCfgCANView diagnostics

#ifdef _DEBUG
void CCfgCANView::AssertValid() const
{
	CFormView::AssertValid();
}

void CCfgCANView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
CCfgCANDoc *CCfgCANView::GetDocument ()  // non-debug version is inline
{
	ASSERT (m_pDocument->IsKindOf (RUNTIME_CLASS (CCfgCANDoc)));

	return (CCfgCANDoc *) m_pDocument;
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CCfgCANView message handlers

void CCfgCANView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();

	m_bkbrush.CreateSolidBrush(RGB(240,250,245));
	
	// TODO: Add your specialized code here and/or call the base class
	//建立列表
	m_MdList.InsertColumn(0,"名稱",LVCFMT_LEFT,100);
	m_MdList.InsertColumn(1,"類型",LVCFMT_LEFT,100);
	m_MdList.InsertColumn(2,"地址",LVCFMT_LEFT,50);
	m_MdList.SetExtendedStyle(
		m_MdList.GetExtendedStyle()|
		LVS_EX_FULLROWSELECT|
		LVS_EX_GRIDLINES);
	m_MdList.SetBkColor(RGB(240,255,245));

	// 添加數據到m_MdList
	int nItem = 0;
	for(int i=0;i<MAX_MODELS;i++){
		//獲取數據
		BYTE addr = i;
		BYTE type = ModelTableBk[i].type;
		char sname[MAX_MD_NAME];
		strcpy(sname,ModelTableBk[i].name);
		CString saddr;
		saddr.Format("%d",addr);
		CString stype;

		switch(type){//判斷是否為有效模塊,如果是,則加入到列表中
		case T_AD_7703:
			m_MdList.InsertItem(nItem,sname);
			m_MdList.SetItem(nItem,1,LVIF_TEXT,"T_AD_7703",0,0,0,0);
			m_MdList.SetItem(nItem,2,LVIF_TEXT,saddr,0,0,0,0);
			nItem++;
			break;
		case T_AD_7703_2:
			m_MdList.InsertItem(nItem,sname);
			m_MdList.SetItem(nItem,1,LVIF_TEXT,"T_AD_7703_2",0,0,0,0);
			m_MdList.SetItem(nItem,2,LVIF_TEXT,saddr,0,0,0,0);
			nItem++;
			break;
		case T_AD_7710:
			m_MdList.InsertItem(nItem,sname);
			m_MdList.SetItem(nItem,1,LVIF_TEXT,"T_AD_7710",0,0,0,0);
			m_MdList.SetItem(nItem,2,LVIF_TEXT,saddr,0,0,0,0);
			nItem++;
			break;
		case T_QD:
			m_MdList.InsertItem(nItem,sname);
			m_MdList.SetItem(nItem,1,LVIF_TEXT,"T_QD",0,0,0,0);
			m_MdList.SetItem(nItem,2,LVIF_TEXT,saddr,0,0,0,0);
			nItem++;
			break;
		default:
			break;
		}
	}

	//
	switch(baud){
	case 0xC3:
		m_baud = 0;
		break;
	case 0xC9:
		m_baud = 1;
		break;
	case 0xD3:
		m_baud = 2;
		break;
	case 0xE7:
		m_baud = 3;
		break;
	default:
		break;
	}
	UpdateData(FALSE);
}

void CCfgCANView::OnAddModel() 
{
	CModelDlg dlg;
	int nItem = m_MdList.GetItemCount();
	UINT type;
	UINT addr;
	CString stype;
	CString saddr;
	CString sname;
	if(dlg.DoModal() == IDOK){
		type = dlg.GetSelType();
		switch(type){
		case T_NULL:
			stype = "T_NULL";
			break;
		case T_AD_7703:
			stype = "T_AD_7703";
			break;
		case T_AD_7703_2:
			stype = "T_AD_7703_2";
			break;
		case T_AD_7710:
			stype = "T_AD_7710";
			break;
		case T_QD:
			stype = "T_QD";
			break;
		default:
			stype = "未知類型";
			break;
		}

		saddr.Format("%d",dlg.m_addr);
		addr = dlg.m_addr;
		sname = dlg.m_name;

		//有效性檢查
		if(addr>=MAX_MODELS || sname.GetLength()>=MAX_MD_NAME)
		{
			AfxMessageBox("模塊參數不正確!");
			return;
		}
	
		//放到列表中
		m_MdList.InsertItem(nItem,sname);
		m_MdList.SetItem(nItem,1,LVIF_TEXT,stype,0,0,0,0);
		m_MdList.SetItem(nItem,2,LVIF_TEXT,saddr,0,0,0,0);

		//改變全局變量ModelTableBk
		ModelTableBk[addr].type = type;
		strcpy(ModelTableBk[addr].name,sname);
		delete ModelTableBk[addr].detail;
		ModelTableBk[addr].detail = NULL;
	}
}

void CCfgCANView::OnModifyModel() 
{
	//get type and address currently selected.
	POSITION pos = m_MdList.GetFirstSelectedItemPosition();
	if (pos == NULL){
	   TRACE0("No items were selected!\n");
	   return;
	}
	int nItem = m_MdList.GetNextSelectedItem(pos);

	CString sname = m_MdList.GetItemText(nItem,0);
	CString stype = m_MdList.GetItemText(nItem,1);
	CString saddr = m_MdList.GetItemText(nItem,2);

	UINT type;
	if(stype == "T_AD_7703")
		type = T_AD_7703;
	else if(stype == "T_AD_7703_2")
		type = T_AD_7703_2;
	else if(stype == "T_AD_7710")
		type = T_AD_7710;
	else if(stype == "T_QD")//"T_QD"
		type = T_QD;
	else
		type = T_NULL;

	UINT addr;
	sscanf(saddr,"%d",&addr);

//	CModelDlg dlg(type,addr);
	CModelDlg dlg;
	dlg.m_addr = addr;
	dlg.SetSel(type);
	dlg.m_name = sname;

	if(dlg.DoModal() == IDCANCEL) return;

	type = dlg.GetSelType();
	switch(type){
	case T_NULL:
		stype = "T_NULL";
		break;
	case T_AD_7703:
		stype = "T_AD_7703";
		break;
	case T_AD_7703_2:
		stype = "T_AD_7703_2";
		break;
	case T_AD_7710:
		stype = "T_AD_7710";
		break;
	case T_QD:
		stype = "T_QD";
		break;
	default:
		stype = "未知類型";
		break;
	}

	saddr.Format("%d",dlg.m_addr);
	addr = dlg.m_addr;
	sname = dlg.m_name;

	//有效性檢查
	if(addr>=MAX_MODELS || sname.GetLength()>=MAX_MD_NAME)
	{
		AfxMessageBox("模塊參數不正確!");
		return;
	}

	//修改列表
	m_MdList.SetItem(nItem,0,LVIF_TEXT,sname,0,0,0,0);
	m_MdList.SetItem(nItem,1,LVIF_TEXT,stype,0,0,0,0);
	m_MdList.SetItem(nItem,2,LVIF_TEXT,saddr,0,0,0,0);

	//改變全局變量ModelTableBk
	ModelTableBk[addr].type = type;
	strcpy(ModelTableBk[addr].name,sname);
	delete ModelTableBk[addr].detail;
	ModelTableBk[addr].detail = NULL;
}

void CCfgCANView::OnDelModel() 
{
	//get type and address currently selected.
	POSITION pos = m_MdList.GetFirstSelectedItemPosition();
	if (pos == NULL){
	   TRACE0("No items were selected!\n");
	   return;
	}
	int nItem = m_MdList.GetNextSelectedItem(pos);

	//從ModelTableBk中刪除
	CString saddr = m_MdList.GetItemText(nItem,2);
	BYTE addr;
	sscanf(saddr,"%d",&addr);
	ModelTableBk[addr].type = T_NULL;
	delete ModelTableBk[addr].detail;
	ModelTableBk[addr].detail = NULL;

	//從列表中刪除
	m_MdList.DeleteItem(nItem);
}

void CCfgCANView::OnSaveCfg() 
{
	//confirm
	if(AfxMessageBox("原先的配置文件將被覆蓋。真的要繼續嗎?",
		MB_ICONQUESTION|MB_YESNO)
		== IDNO)
		return;
	UpdateData();
	switch(m_baud){
	case 0:
		baud = 0xc3;
		break;
	case 1:
		baud = 0xc9;
		break;
	case 2:
		baud = 0xd3;
		break;
	default:
		baud = 0xe7;
		break;
	}
	//write
	write_cfg_file();
	AfxMessageBox("配置被修改,需要重新運行程序。");
}

HBRUSH CCfgCANView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
//	HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here

	return m_bkbrush;
	// TODO: Return a different brush if the default is not desired
//	return hbr;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久国产老人久久综合| 在线精品国精品国产尤物884a| 亚洲一区中文在线| 国产精品热久久久久夜色精品三区 | 欧美精品xxxxbbbb| 欧美亚洲综合一区| 在线一区二区三区四区五区| 日本国产一区二区| 一本久久a久久免费精品不卡| 成人高清视频在线| 色婷婷亚洲精品| 欧美性色综合网| 91精品国产综合久久精品麻豆 | 日韩一区二区免费电影| 日韩欧美中文字幕制服| 欧美mv和日韩mv的网站| 精品国精品国产| 久久久久久一二三区| 国产精品天干天干在观线| 国产精品无遮挡| 亚洲另类中文字| 亚洲成人免费视| 日韩av在线发布| 国产一区视频在线看| www.99精品| 欧美日韩国产在线观看| 日韩欧美在线123| 中文字幕成人在线观看| 亚洲精品国产a| 乱中年女人伦av一区二区| 欧美制服丝袜第一页| 欧美一区二区三区色| 国产日韩欧美电影| 亚洲一区自拍偷拍| 国产精品一区二区久激情瑜伽| 色综合夜色一区| 亚洲精品亚洲人成人网在线播放| 亚洲电影激情视频网站| 国产成人日日夜夜| 欧美撒尿777hd撒尿| 久久蜜桃一区二区| 亚洲高清免费在线| 国内精品伊人久久久久av一坑| 99精品欧美一区| 精品免费日韩av| 亚洲自拍偷拍图区| 国产宾馆实践打屁股91| 欧美一区二区在线观看| 国产精品久久久久影院| 久久精品国产亚洲a| 在线视频国内自拍亚洲视频| 精品乱人伦小说| 亚洲成人激情综合网| 99久久综合精品| 精品国产伦一区二区三区观看方式| 17c精品麻豆一区二区免费| 精品一区二区三区免费视频| 在线欧美一区二区| 国产精品久久毛片| 狠狠色丁香久久婷婷综合_中 | 国产一区 二区 三区一级| 欧美在线啊v一区| 国产欧美一区二区在线观看| 麻豆91小视频| 51久久夜色精品国产麻豆| 一区二区三区国产精华| 成人激情图片网| 国产亚洲欧洲997久久综合| 蜜桃精品在线观看| 制服.丝袜.亚洲.中文.综合| 亚洲一区二区美女| 色综合久久久久综合体桃花网| 日本一区二区高清| 成人综合日日夜夜| 国产精品毛片久久久久久| 国产激情视频一区二区三区欧美 | 日韩午夜激情免费电影| 日韩中文字幕亚洲一区二区va在线| 色呦呦网站一区| 一区二区免费视频| 一本色道久久综合狠狠躁的推荐| 最新日韩在线视频| 成人97人人超碰人人99| 成人欧美一区二区三区| 一本色道久久综合亚洲91| 一区二区成人在线观看| 欧美日韩精品欧美日韩精品一综合| 亚洲一区二区精品视频| 欧美日韩1234| 精一区二区三区| 国产日韩欧美综合在线| 成人国产精品免费观看| 一区二区在线观看不卡| 欧美三日本三级三级在线播放| 亚洲电影中文字幕在线观看| 91精品欧美一区二区三区综合在| 日本一区中文字幕 | 成人精品gif动图一区| 国产精品国产三级国产aⅴ无密码| 91在线播放网址| 成人免费视频app| 自拍偷拍亚洲欧美日韩| 欧美日韩免费电影| 麻豆91免费观看| 国产精品免费av| 欧美男人的天堂一二区| 久久精品免费观看| 亚洲欧美综合另类在线卡通| 在线视频你懂得一区二区三区| 免费高清不卡av| 国产精品女主播av| 欧美视频一区二| 国产精品一二三四五| 亚洲自拍都市欧美小说| 精品成a人在线观看| 在线日韩av片| 国产精品亚洲第一区在线暖暖韩国| 亚洲人成在线播放网站岛国| 日韩三级av在线播放| 北条麻妃一区二区三区| 日韩国产欧美在线视频| 国产精品亲子乱子伦xxxx裸| 欧美一区二区视频观看视频| 成人免费高清视频在线观看| 视频一区免费在线观看| 国产精品福利av| 日韩欧美国产三级| 欧美午夜片在线看| 成人18精品视频| 韩国欧美国产1区| 亚洲成人精品一区| 亚洲人快播电影网| 久久精品日韩一区二区三区| 777午夜精品免费视频| eeuss影院一区二区三区| 激情综合色综合久久| 石原莉奈在线亚洲三区| 亚洲男人电影天堂| 国产精品全国免费观看高清| www国产精品av| 欧美成人国产一区二区| 欧美日韩和欧美的一区二区| 色婷婷av一区二区三区大白胸| 懂色av中文字幕一区二区三区| 精久久久久久久久久久| 日韩精品福利网| 偷拍日韩校园综合在线| 亚洲图片欧美视频| 一区二区三区精品视频| 亚洲精品写真福利| 一区二区三区小说| 亚洲一区二区三区四区的| 最新高清无码专区| 亚洲视频香蕉人妖| 椎名由奈av一区二区三区| 亚洲欧美日本在线| 亚洲欧美激情小说另类| 亚洲精品视频在线看| 一区二区三区四区国产精品| 亚洲美女屁股眼交| 亚洲综合图片区| 亚洲国产wwwccc36天堂| 婷婷久久综合九色国产成人| 婷婷六月综合亚洲| 久久se精品一区二区| 激情六月婷婷久久| 国产高清不卡一区| 99re在线精品| 欧美日韩国产a| 欧美videossexotv100| 2021久久国产精品不只是精品| 久久久天堂av| 中文字幕在线不卡一区 | 欧美日韩国产影片| 欧美一区二区三区视频免费播放| 精品美女一区二区三区| 久久久久久黄色| 亚洲色图制服丝袜| 天堂影院一区二区| 国产一区二区久久| 91麻豆福利精品推荐| 欧美疯狂性受xxxxx喷水图片| 日韩欧美视频一区| 国产精品久久久久久久久动漫 | 久久久美女毛片 | 色婷婷综合久久久中文一区二区 | 国产一区二区视频在线| 99视频有精品| 欧美高清视频在线高清观看mv色露露十八| 日韩无一区二区| 中文字幕亚洲精品在线观看| 午夜精品一区二区三区电影天堂| 美女网站视频久久| 99国产精品99久久久久久| 91精品国产免费久久综合| 国产精品乱码一区二区三区软件 | 免费视频最近日韩| 成人午夜免费视频| 欧美高清dvd| 亚洲精品乱码久久久久久黑人|