⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tempdlg.cpp

📁 这是一个关于如何控制卫星Modem程序源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	TreeCtrlItem.item.lParam=132;
	TreeCtrlItem.item.pszText="Tst Active";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="BER Loss";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="SDMS";	
	m_tree.InsertItem(&TreeCtrlItem);
	
//---------------------------------------------
	hTreeItem=tempTreeItem1;
	TreeCtrlItem.hParent=hTreeItem;
	TreeCtrlItem.item.lParam=10;
	TreeCtrlItem.item.pszText="Test";	
	hTreeItem=m_tree.InsertItem(&TreeCtrlItem);

	
	TreeCtrlItem.hParent=hTreeItem;
	TreeCtrlItem.item.lParam=133;
	TreeCtrlItem.item.pszText="Ter Loopbck";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="Sat Loopbck";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="Mod BER";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="Demod BER";	
	m_tree.InsertItem(&TreeCtrlItem);

//---------------------------------------------
	hTreeItem=tempTreeItem1;
	TreeCtrlItem.hParent=hTreeItem;
	TreeCtrlItem.item.lParam=10;
	TreeCtrlItem.item.pszText="SDMS";	
	hTreeItem=m_tree.InsertItem(&TreeCtrlItem);

	
	TreeCtrlItem.hParent=hTreeItem;
	TreeCtrlItem.item.lParam=134;
	TreeCtrlItem.item.pszText="IP Addr";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="Netwrk Mask";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="MAC Addr";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="Options";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="Version";	
	m_tree.InsertItem(&TreeCtrlItem);
	TreeCtrlItem.item.pszText="Serial#";	
	m_tree.InsertItem(&TreeCtrlItem);
	
	//串口初始化
	m_com.SetCommPort(1); //选择COM1
	m_com.SetInBufferSize(1024); //设置输入缓冲区的大小,Bytes
	m_com.SetOutBufferSize(1024); //设置输入缓冲区的大小,Bytes

	if(!m_com.GetPortOpen()) //打开串口   
	m_com.SetPortOpen(TRUE);
	m_com.SetInputMode(1); //设置输入方式为二进制方式
	m_com.SetSettings("9600,n,8,1"); //设置波特率等参数
	m_com.SetRThreshold(1); //为1表示有一个字符引发一个事件    
	m_com.SetInputLen(0);

	
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CTempDlg::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 CTempDlg::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 CTempDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CTempDlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	CString strRef;
	//CString strInfo;  //选定项的文字;改为全局,记录位置用
	HTREEITEM CurItem=m_tree.GetSelectedItem();
	TV_ITEM  TreeCtrlItem;
	TreeCtrlItem.hItem=CurItem;
	m_tree.GetItem(&TreeCtrlItem);
	strInfo=m_tree.GetItemText(m_tree.GetSelectedItem());	

	CStatic * pStatic=(CStatic *)GetDlgItem(IDC_DISP_STATIC);		
	CEdit * pEdit=(CEdit *)GetDlgItem(IDC_DATA_EDIT);	
	CComboBox * pComb=(CComboBox *)GetDlgItem(IDC_DATA_COMB);
	long CurlParam=TreeCtrlItem.lParam;
	if(CurlParam==1||CurlParam==10)
	{
		pEdit->ShowWindow(SW_HIDE);
		pComb->ShowWindow(SW_HIDE);	
		this->GetDlgItem(IDC_DISP_STATIC)->SetWindowText(" ");
		this->GetDlgItem(IDC_CHANGE_STATIC)->SetWindowText(" ");
		m_read.SetWindowText(" ");
		return;
	}
	else
		this->GetDlgItem(IDC_CHANGE_STATIC)->SetWindowText("改为:");
	
	switch(CurlParam)
	{
		case 100:
			commandArray[4]=0x00;
			commandArray[6]=0x00;
			if(strInfo=="Unit ID")			
			{
				pEdit->ShowWindow(SW_SHOW);
				pComb->ShowWindow(SW_HIDE);					
				SendToCom();					
			}
			else
			{
				pEdit->ShowWindow(SW_HIDE);				
				pComb->ShowWindow(SW_HIDE);					
				SendToCom();
			}
			break;
		case 101:
			commandArray[4]=0x01;
			commandArray[6]=0x00;
			if(strInfo=="Modem")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("Disabled");
				m_dataComb.AddString("Demod Only");
				m_dataComb.AddString("Mod Only");
				m_dataComb.AddString("Mod & Demod");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Store")			
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("1");
				m_dataComb.AddString("2");
				m_dataComb.AddString("3");
				m_dataComb.AddString("4");
				m_dataComb.AddString("5");
				m_dataComb.AddString("6");
				m_dataComb.AddString("7");
				m_dataComb.AddString("8");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();					
			}
			else if(strInfo=="Recall")			
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("0=Factory");
				m_dataComb.AddString("1");
				m_dataComb.AddString("2");
				m_dataComb.AddString("3");
				m_dataComb.AddString("4");
				m_dataComb.AddString("5");
				m_dataComb.AddString("6");
				m_dataComb.AddString("7");
				m_dataComb.AddString("8");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();					
			}
			else
			{
				pEdit->ShowWindow(SW_SHOW);				
				pComb->ShowWindow(SW_HIDE);				
				SendToCom();
			}
			break;
		case 102:
			//02h
			commandArray[4]=0x02;
			commandArray[6]=0x00;
			if(strInfo=="Mode")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("Disabled");
				m_dataComb.AddString("Read Only");
				m_dataComb.AddString("Full Access");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Entry")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("Quick");
				m_dataComb.AddString("Edit Only");
				m_dataComb.AddString("Confirm");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="LCD Actve")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("Off");
				m_dataComb.AddString("1/3");
				m_dataComb.AddString("2/3");
				m_dataComb.AddString("Full");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="LCD Idle")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("Off");
				m_dataComb.AddString("1/3");
				m_dataComb.AddString("2/3");
				m_dataComb.AddString("Full");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="LCD Cntst")
			{
				pEdit->ShowWindow(SW_SHOW);				
				pComb->ShowWindow(SW_HIDE);				
				SendToCom();
			}
			else if(strInfo=="Activity")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("None");
				m_dataComb.AddString("Beep");
				m_dataComb.AddString("Blink");
				m_dataComb.AddString("Beep & Blink");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			break;
		case 103:
			//03h
			commandArray[4]=0x03;
			commandArray[6]=0x00;
			if(strInfo=="Mode")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("Disabled");
				m_dataComb.AddString("Read Only");
				m_dataComb.AddString("Full Access");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Rate")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("300 bps");
				m_dataComb.AddString("600 bps");
				m_dataComb.AddString("1200 bps");
				m_dataComb.AddString("2400 bps");
				m_dataComb.AddString("4800 bps");
				m_dataComb.AddString("9600 bps");
				m_dataComb.AddString("19200 bps");
				m_dataComb.AddString("38400 bps");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Format")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("N,8,1");
				m_dataComb.AddString("E,8,1");
				m_dataComb.AddString("O,8,1");
				m_dataComb.AddString("M,8,1");
				m_dataComb.AddString("S,8,1");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Power")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("IR Low");
				m_dataComb.AddString("IR Medium");
				m_dataComb.AddString("IR High");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Activity")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("None");
				m_dataComb.AddString("Beep");
				m_dataComb.AddString("Blink");
				m_dataComb.AddString("Beep & Blink");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			break;
		case 104:
			//04h
			commandArray[4]=0x04;
			commandArray[6]=0x00;
			if(strInfo=="Mode")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("Disabled");
				m_dataComb.AddString("Read Only");
				m_dataComb.AddString("Full Access");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Protocol")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("VT100");
				m_dataComb.AddString("Quiet VT100");
				m_dataComb.AddString("Binary Packet");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Address")
			{
				pEdit->ShowWindow(SW_SHOW);				
				pComb->ShowWindow(SW_HIDE);				
				SendToCom();
			}
			else if(strInfo=="Rate")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("300 bps");
				m_dataComb.AddString("600 bps");
				m_dataComb.AddString("1200 bps");
				m_dataComb.AddString("2400 bps");
				m_dataComb.AddString("4800 bps");
				m_dataComb.AddString("9600 bps");
				m_dataComb.AddString("19200 bps");
				m_dataComb.AddString("38400 bps");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Format")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	
				m_dataComb.ResetContent();
				m_dataComb.AddString("N,8,1");
				m_dataComb.AddString("E,8,1");
				m_dataComb.AddString("O,8,1");
				m_dataComb.AddString("M,8,1");
				m_dataComb.AddString("S,8,1");
				m_dataComb.SetCurSel(0);				
				numComb=0;
				
				SendToCom();
			}
			else if(strInfo=="Port")
			{
				pEdit->ShowWindow(SW_HIDE);			
				pComb->ShowWindow(SW_SHOW);	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -