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

📄 btspy.h

📁 bt848,bt878 a采集卡的探测
💻 H
字号:
#ifndef __BTSPY_H
#define __BTSPY_H

#include "resource.h"


#include "CRadioButton.hpp"
#include "CWizardPage.hpp"
#include "CRichEdit.hpp"
#include "CDialogBox.hpp"
#include "CButton.hpp"
#include "CText.hpp"
#include "CComboBox.hpp"
#include "CCheckBox.hpp"
#include "CLibrary.hpp"
#include "CToolTip.hpp"
#include "CEditBox.hpp"
#include "CSpin.hpp"
#include "Bt8xxAccess.hpp"

// Forward decls
class CBtSpy;

// The wizard pages
class CWPage1 : public CWizardPage {

protected:

	CBtSpy*			app;			// Pointer to the main App.
	CEditBox		ebCardName;		// The Card name
	CToolTip		ttWindow;		// The ToolTip Window

public:
	CWPage1(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE1)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
	virtual INT OnCommand(WORD ControlID,WORD NotifyCode);

};

class CWPage2 : public CWizardPage {

protected:

	CBtSpy*			app;			// Pointer to the main App.
	CRadioButton	rbYes;			// Yes radiobutton
	CRadioButton	rbNo;			// No radiobutton
	CToolTip		ttWindow;		// The ToolTip Window

public:
	CWPage2(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE2)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();
	virtual INT OnCommand(WORD ControlID,WORD NotifyCode);

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 

};

class CWPage3 : public CWizardPage {

protected:

	CBtSpy*			app;					// Pointer to the main App.
	CToolTip		ttWindow;				// The ToolTip Window

public:
	CWPage3(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE3)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
};

class CWPage4 : public CWizardPage {

protected:

	CBtSpy*			app;			// Pointer to the main App.
	CRadioButton	rbYes;			// Yes radiobutton
	CRadioButton	rbNo;			// No radiobutton
	CToolTip		ttWindow;		// The ToolTip Window

public:
	CWPage4(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE4)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();
	virtual INT OnCommand(WORD ControlID,WORD NotifyCode);

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
	virtual INT OnWizBack(); 

};

class CWPage5 : public CWizardPage {

protected:

	CBtSpy*			app;					// Pointer to the main App.
	CToolTip		ttWindow;				// The ToolTip Window

public:
	CWPage5(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE5)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
};

class CWPage6 : public CWizardPage {

protected:

	CBtSpy*			app;			// Pointer to the main App.
	CEditBox		ebNumComposites;// Number of composite ins.
	CSpin			sSpin;			// The Spinbox used to make selection easy
	CToolTip		ttWindow;		// The ToolTip Window

public:
	CWPage6(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE6)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
	virtual INT OnWizBack(); 

};

class CWPage7 : public CWizardPage {

protected:

	CBtSpy*			app;					// Pointer to the main App.
	CText			tMsg;					// The message to display
	CToolTip		ttWindow;				// The ToolTip Window

public:
	CWPage7(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE7)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
	virtual INT OnWizBack(); 
};

class CWPage8 : public CWizardPage {

protected:

	CBtSpy*			app;			// Pointer to the main App.
	CRadioButton	rbYes;			// Yes radiobutton
	CRadioButton	rbNo;			// No radiobutton
	CToolTip		ttWindow;		// The ToolTip Window

public:
	CWPage8(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE8)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();
	virtual INT OnCommand(WORD ControlID,WORD NotifyCode);

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
	virtual INT OnWizBack(); 

};

class CWPage9 : public CWizardPage {

protected:

	CBtSpy*			app;					// Pointer to the main App.
	CToolTip		ttWindow;				// The ToolTip Window

public:
	CWPage9(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE9)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizNext(); 
};

class CWPage10 : public CWizardPage {

protected:

	CBtSpy*			app;					// Pointer to the main App.
	CToolTip		ttWindow;				// The ToolTip Window

public:
	CWPage10(CBtSpy* main) : 
	  CWizardPage(MAKEINTRESOURCE(IDD_PAGE10)) , app(main) {}

	// Windows Messages
	virtual INT OnInitDialog();

	// Wizard Messages
	virtual INT OnKillActive();
	virtual INT OnReset();
	virtual INT OnSetActive();
	virtual INT OnWizFinish(); 
};

// And the peeker!
class CPeeker : public CDialogBox {

protected:
	// Cached values
	DWORD			GPDATA;
	DWORD			GPOE;
	BOOL			Displayed;

	// All the controls of the dialog!
	CEditBox		ebGPOE;
	CEditBox		ebGPDATA;

	CToolTip		ttWindow;		// The ToolTip Window
	CBtSpy*			app;			// Pointer to the main App.

public:

	CPeeker(CBtSpy* main) : GPDATA(0), GPOE(0), Displayed(FALSE), app(main) , CDialogBox(MAKEINTRESOURCE(IDD_PEEKTOOL)) {}
	virtual INT OnInitDialog();
	virtual INT OnCommand(WORD ControlID,WORD NotifyCode);
	virtual INT OnTimer(DWORD wParam);

	// User interfases!
	void	Display();
	void	Hide();
	BOOL	IsDisplayed() const { return Displayed; }

};


// The summary page!
class CResult : public CDialogBox {
protected:

	typedef struct {
		WORD	ID;
		LPTSTR Name;
	} VendorInfo;

protected:

	// All the controls of the dialog!
	CEditBox		ebSummary;

	CToolTip		ttWindow;		// The ToolTip Window
	CBtSpy*			app;			// Pointer to the main App.

	CPeeker			peeker;			// The peeker window

public:
	static VendorInfo Info[];		// Vendor infos and descriptions

public:

	CResult(CBtSpy* main) : app(main) ,peeker(main), CDialogBox(MAKEINTRESOURCE(IDD_RESULT)) {}
	virtual INT OnInitDialog();
	virtual INT OnCommand(WORD ControlID,WORD NotifyCode);

protected:
	CString CreateReport();
	static CString Vendor(WORD ID);
	void SaveReport();

};


// The main app. class 
class CBtSpy {

	friend CWPage1;
	friend CWPage2;
	friend CWPage3;
	friend CWPage4;
	friend CWPage5;
	friend CWPage6;
	friend CWPage7;
	friend CWPage8;
	friend CWPage9;
	friend CWPage10;
	friend CResult;
	friend CPeeker;


protected:

	// Spy information we could want to keep ...
	CString CardName;				// Card Name

	BOOL    Has_TV;					// If it has a TV tuner
	DWORD   TV_GPOE;				// GPOE for TV audio
	DWORD   TV_GPDATA;				// GPDATA for TV audio
	DWORD   TV_Mux;					// The video Mux that TV is using

	BOOL	Has_SVideo;				// If it has an SVideo input
	DWORD   SVideo_GPOE;			// GPOE for SVideo audio
	DWORD   SVideo_GPDATA;			// GPDATA for SVideo audio
	DWORD   SVideo_Mux;				// The video Mux that SVideo is using

	UINT    CompositeIns;			// Number of composite ins the card has
	DWORD   Composite_GPOE[4];		// GPOE for Composite audio
	DWORD   Composite_GPDATA[4];	// GPDATA for Composite audio
	DWORD   Composite_Mux[4];		// The video Mux that Composite is using

	BOOL	Has_Radio;				// If it has a Radio input
	DWORD   Radio_GPOE;				// GPOE for Radio audio
	DWORD   Radio_GPDATA;			// GPDATA for Radio audio

	DWORD   Mute_GPOE;				// GPOE to Mute audio
	DWORD   Mute_GPDATA;			// GPDATA to Mute audio

	// Some useful data
	HINSTANCE Instance;				// Our program instance
	UINT     CurrComposite;			// The current composite that is processed

	// Needed libraries
	CLibrary RichEdit;

	// And our Bt8xx access object
	CBt8xxAccess BtAccess;

public:
	CBtSpy(HINSTANCE Inst);
	bool Execute();

};




#endif


⌨️ 快捷键说明

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