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

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

?? demodlg.cpp

?? 基于ARM的應用Source6
?? CPP
字號:
/*----------------------------------------------------------------------------
 *  Copyright (c) 2001 by National Semiconductor Corporation
 *  National Semiconductor Corporation
 *  2900 Semiconductor Drive
 *  Santa Clara, California 95051
 *
 *  All rights reserved
 *
 *<<<-------------------------------------------------------------------------
 * File Contents:
 *	DemoDlg.cpp
 *
 *  Project: USB Demo Application
 *  Author : Yan Nosovitsky
 *  Date   : Dec 2001
 *----------------------------------------------------------------------->>>*/

// DemoDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Demo.h"
#include "DemoDlg.h"
#include "CmdTabCtrl.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()

/////////////////////////////////////////////////////////////////////////////
// CDemoDlg dialog

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

void CDemoDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDemoDlg)
	DDX_Control(pDX, IDC_COMMAND_TAB, m_cmdTabCtrl);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDemoDlg, CDialog)
	//{{AFX_MSG_MAP(CDemoDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_DESTROY()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_COMMAND(ID_HELP_ABOUT,OnHelpAbout)
	ON_COMMAND(ID_HTML_HELP,OnHTMLHelp)
	ON_COMMAND(ID_REQUESTS,OnReqTab)
	ON_COMMAND(ID_BULK,OnBulkTab)
	ON_COMMAND(ID_ISOCHRONOUS,OnIsoTab)
	ON_COMMAND(ID_INTERRUPT,OnIntTab)
	ON_COMMAND(ID_DIAGNOSTIC,OnDiagTab)
	ON_NOTIFY(TCN_SELCHANGE, IDC_COMMAND_TAB, OnSelchangeCommandTab)
	ON_NOTIFY(TCN_SELCHANGING, IDC_COMMAND_TAB, OnSelchangingCommandTab)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDemoDlg message handlers

BOOL CDemoDlg::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

	USBDriver *curUSBDriver = USBDriver::GetUSBDriver();
	if (curUSBDriver->IsUSBDriverHaveError())
		MessageBox(curUSBDriver->GetErrorDescriptor(),"Error",MB_ICONERROR | MB_OK);


	//Tab Control
	m_cmdTabCtrl.InsertItem(CONTROL, _T("&Requests"));
	m_cmdTabCtrl.InsertItem(BULK, _T("Bulk"));
	m_cmdTabCtrl.InsertItem(INTERRUPT, _T("Interrupt"));
	m_cmdTabCtrl.InsertItem(ISOCHRONOUS, _T("Isochronous"));
	m_cmdTabCtrl.InsertItem(DIAGNOSTIC, _T("Diagnostic"));

	m_cmdTabCtrl.CommandTabCtrlInit();
	MenuUpdateOnCommand();
//	m_cmdTabCtrl.m_ControlTab->controlFunc->SetDrvHandle(driver->GetDriverHandle());
//	m_cmdTabCtrl.m_BulkTab->bulkFunc->SetDrvHandle(driver->GetDriverHandle());
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CDemoDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		if ((nID & 0xFFF0) == SC_CLOSE)
		{
			/* stop running tests */
			
			m_cmdTabCtrl.m_BulkTab->bulkFunc->StopLastProcess();
			m_cmdTabCtrl.m_IsoTab->isoFunc->StopLastProcess();
			m_cmdTabCtrl.m_IntTab->intFunc->StopLastProcess();

			ControlFunc::SendSetupPacketOut(STOP_REQUEST,0,0,0);

		}

		CDialog::OnSysCommand(nID, lParam);
	}
}

void CDemoDlg::OnHelpAbout()
{
	CAboutDlg dlgAbout;
	dlgAbout.DoModal();
}

void CDemoDlg::OnDestroy()
{

	WinHelp(0L, HELP_QUIT);
	CDialog::OnDestroy();
}

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

void CDemoDlg::OnSelchangeCommandTab(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	MenuUpdateOnCommand();
	*pResult = 0;
}

void CDemoDlg::OnSelchangingCommandTab(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

void CDemoDlg::OnReqTab()
{
	m_cmdTabCtrl.TabSwitcher(CONTROL);
	MenuUpdateOnCommand();
}

void CDemoDlg::OnBulkTab()
{
	m_cmdTabCtrl.TabSwitcher(BULK);
	MenuUpdateOnCommand();
}

void CDemoDlg::OnIsoTab()
{
	m_cmdTabCtrl.TabSwitcher(ISOCHRONOUS);
	MenuUpdateOnCommand();
}

void CDemoDlg::OnIntTab()
{
	m_cmdTabCtrl.TabSwitcher(INTERRUPT);
	MenuUpdateOnCommand();
}

void CDemoDlg::OnDiagTab()
{
	m_cmdTabCtrl.TabSwitcher(DIAGNOSTIC);
	MenuUpdateOnCommand();
}

void CDemoDlg::OnHTMLHelp()
{
	
   HtmlHelp( AfxGetMainWnd()->m_hWnd,
            "USBDemo.chm",
            HH_DISPLAY_TOC,
            NULL) ;

}
void CDemoDlg::MenuUpdateOnCommand() 
{
//This function should be called after the new tab/command selection 
//has been made
	CWnd* pMain = AfxGetMainWnd();
	if (pMain != NULL) {
		CMenu* pMenu = pMain->GetMenu();
		CMenu* submenu = pMenu->GetSubMenu(0); //View popup menu
		for (unsigned int i=0;i<submenu->GetMenuItemCount();i++) {
			UINT state = submenu->GetMenuState(i, MF_BYPOSITION);
//			ASSERT(state != 0xFFFFFFFF);
			if (state & MF_CHECKED) {
				submenu->CheckMenuItem(i, MF_UNCHECKED | MF_BYPOSITION);
				break;
			}
		}
		int CurSel = m_cmdTabCtrl.GetCurSel();

		submenu->CheckMenuItem(CurSel, MF_CHECKED | MF_BYPOSITION);
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草成人在线观看| 91久久精品一区二区二区| 久久久www免费人成精品| 国产福利一区在线| 中文字幕精品三区| 色综合久久综合网97色综合| 亚洲激情五月婷婷| 欧美精品电影在线播放| 蜜臀av一区二区在线免费观看| 久久久久久久网| youjizz国产精品| 亚洲国产日韩一区二区| 91精品福利在线一区二区三区| 激情欧美日韩一区二区| 国产精品免费av| 日本乱人伦aⅴ精品| 日韩精品免费专区| 久久欧美一区二区| 色av成人天堂桃色av| 免费高清在线视频一区·| 亚洲国产高清在线观看视频| 日本高清不卡视频| 麻豆久久久久久| 中文字幕日韩精品一区| 欧美精品 国产精品| 国产乱码精品一区二区三区忘忧草| 中文字幕中文字幕一区二区| 欧美日韩国产精品自在自线| 国产一区二区不卡在线| 亚洲另类春色国产| 日韩免费成人网| 91色porny在线视频| 久久精品99国产精品| 自拍偷拍亚洲综合| 日韩一区二区三区电影| 成人精品高清在线| 日韩激情中文字幕| 国产精品美女久久久久久久久 | 美女国产一区二区| 亚洲欧洲成人自拍| 日韩一二三区视频| 99久久99精品久久久久久| 日本人妖一区二区| 亚洲欧洲无码一区二区三区| 日韩天堂在线观看| 95精品视频在线| 激情都市一区二区| 亚洲狠狠爱一区二区三区| 国产欧美一区二区在线| 欧美男生操女生| av成人老司机| 久久成人麻豆午夜电影| 一区二区三区高清在线| 欧美精品一区二区三区很污很色的| 日本韩国精品在线| 国产成人aaa| 毛片av一区二区三区| 一区二区高清视频在线观看| 国产日韩欧美电影| 欧美一区二区三区免费视频 | 91麻豆精品国产91久久久更新时间| www.久久精品| 国产一区二区在线观看免费| 亚洲成人综合视频| 综合av第一页| 欧美国产视频在线| 欧美精品一区二区三区视频| 欧美日韩一级二级| 91在线看国产| 国产经典欧美精品| 看电影不卡的网站| 日日欢夜夜爽一区| 亚洲电影激情视频网站| 中文字幕在线播放不卡一区| 精品粉嫩aⅴ一区二区三区四区| 欧美三级日本三级少妇99| 99久久精品99国产精品| 国产成人免费视频网站| 精品在线亚洲视频| 日韩和的一区二区| 亚洲人123区| 中文字幕一区二区三区不卡 | 色天使久久综合网天天| 成人午夜视频在线| 国产乱码精品一区二区三区五月婷 | 日本高清无吗v一区| www.色精品| 国产成人精品网址| 国产美女精品一区二区三区| 麻豆视频观看网址久久| 麻豆视频一区二区| 麻豆久久一区二区| 免费在线一区观看| 男男gaygay亚洲| 日韩va欧美va亚洲va久久| 一区二区在线观看免费 | 亚洲欧洲av色图| 国产精品入口麻豆原神| 国产欧美日韩在线视频| 国产欧美日产一区| 国产女主播视频一区二区| 国产喂奶挤奶一区二区三区| 国产日韩一级二级三级| 久久久国产午夜精品| 久久综合狠狠综合久久综合88| 欧美大片顶级少妇| 久久综合久久综合久久综合| www久久精品| 久久久91精品国产一区二区精品 | 国产精品久久久久久久久晋中| 国产午夜精品久久| 国产精品丝袜一区| 中文字幕视频一区二区三区久| 亚洲欧美日韩久久| 一区二区三区.www| 亚洲成人精品一区二区| 奇米亚洲午夜久久精品| 毛片一区二区三区| 国产乱码字幕精品高清av| 丰满少妇在线播放bd日韩电影| 成人午夜大片免费观看| 99国产一区二区三精品乱码| 91麻豆视频网站| 欧美性xxxxx极品少妇| 这里只有精品视频在线观看| 精品日韩av一区二区| 久久精品欧美一区二区三区不卡| 中文字幕免费一区| 亚洲欧美日韩人成在线播放| 亚洲高清久久久| 久久精品国产免费| 国产福利91精品一区| av在线综合网| 欧美性大战久久久| 日韩精品中午字幕| 日本一区二区成人| 亚洲欧美区自拍先锋| 亚洲午夜激情av| 久久99国产精品久久| 国产成人精品免费网站| 色综合久久99| 日韩视频在线你懂得| 日本一区二区三区久久久久久久久不| 亚洲欧洲性图库| 日韩av电影天堂| 国产成人精品免费视频网站| 欧美在线不卡一区| 欧美v日韩v国产v| 国产精品伦理一区二区| 亚洲最大色网站| 国产一区久久久| 欧美性视频一区二区三区| 精品国产一区二区亚洲人成毛片 | 福利91精品一区二区三区| 91豆麻精品91久久久久久| 日韩一区二区精品| 国产精品视频观看| 五月婷婷久久综合| 国产99久久久精品| 欧美日韩视频第一区| 久久精品人人做| 香蕉久久夜色精品国产使用方法 | 99精品久久免费看蜜臀剧情介绍| 欧美日韩激情一区| 久久精品视频网| 午夜视频在线观看一区二区| 国产精品小仙女| 欧美日韩国产高清一区| 国产嫩草影院久久久久| 亚洲福利视频一区| 国产成人在线观看免费网站| 欧美四级电影网| 国产日产精品一区| 无吗不卡中文字幕| 丁香天五香天堂综合| 在线播放中文一区| 国产精品理伦片| 九色|91porny| 欧美伊人久久久久久久久影院| 久久久.com| 天堂午夜影视日韩欧美一区二区| 成人不卡免费av| 欧美tk—视频vk| 亚洲成人一二三| 92国产精品观看| 国产亚洲一区二区在线观看| 亚洲va欧美va国产va天堂影院| 成人听书哪个软件好| 日韩欧美国产一区二区在线播放 | 精品在线一区二区三区| 欧美唯美清纯偷拍| 一区二区中文视频| 国产精品一区二区三区网站| 欧美美女视频在线观看| 亚洲婷婷在线视频| 国产高清视频一区| 精品蜜桃在线看| 天天爽夜夜爽夜夜爽精品视频| 91麻豆.com| 欧美激情在线免费观看|