📄 test2dlg.cpp
字号:
// Test2Dlg.cpp : implementation file
//
#include "stdafx.h"
#include "Test2.h"
#include "Test2Dlg.h"
#include "SDK_Defs.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTest2Dlg dialog
CTest2Dlg::CTest2Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CTest2Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTest2Dlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CTest2Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTest2Dlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTest2Dlg, CDialog)
//{{AFX_MSG_MAP(CTest2Dlg)
ON_BN_CLICKED(IDC_BUT_GetInfo, OnBUTGetInfo)
ON_BN_CLICKED(IDC_BUT_PowerUp, OnBUTPowerUp)
ON_BN_CLICKED(IDC_BUT_PowerDown, OnBUTPowerDown)
ON_BN_CLICKED(IDC_BUT_SeekUp, OnBUTSeekUp)
ON_BN_CLICKED(IDC_BUT_SeekDown, OnBUTSeekDown)
ON_BN_CLICKED(IDC_BUT_GetFreq, OnBUTGetFreq)
ON_BN_CLICKED(IDC_BUT_SetFreq, OnBUTSetFreq)
ON_BN_CLICKED(IDC_BUT_ReadRDS, OnBUTReadRDS)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTest2Dlg message handlers
BOOL CTest2Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 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
CenterWindow(GetDesktopWindow()); // center to the hpc screen
// TODO: Add extra initialization here
g_hRadioDev = CreateFile( TEXT("RAD1:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
SetTimer(1,1000, 0);
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
return FALSE;
}
else
{
return TRUE;
}
// return TRUE; // return TRUE unless you set the focus to a control
}
BOOL CTest2Dlg::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
CloseHandle(g_hRadioDev);
return CDialog::DestroyWindow();
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
// 操作函数接口测试示例
// 来自示例文件
void CTest2Dlg::OnBUTGetInfo()
{
// TODO: Add your control notification handler code here
unsigned short Info[16];
for ( int i=0;i<16;i++)
Info[i]=0;
DWORD BytesReturned;
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
DeviceIoControl( g_hRadioDev, IOCTL_RADIO_GET_INFO, NULL,0,Info,sizeof(Info),&BytesReturned,(LPOVERLAPPED)NULL );
for(int i=0;i<16;i++)
{
TRACE(_T("RADIO : reg %d : %04X \n"),i,Info[i]);
}
}
}
void CTest2Dlg::OnBUTPowerUp()
{
// TODO: Add your control notification handler code here
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
DWORD BytesReturned;
DeviceIoControl( g_hRadioDev, IOCTL_RADIO_POWER_UP, NULL,0,NULL,0,&BytesReturned,(LPOVERLAPPED)NULL);
}
else
{
// return(0);
// RETAILMSG(RADIODBG,(L"RADIO : Open Driver NG\r\n"));
}
}
void CTest2Dlg::OnBUTPowerDown()
{
// TODO: Add your control notification handler code here
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
DWORD BytesReturned;
DeviceIoControl( g_hRadioDev, IOCTL_RADIO_POWER_DOWN, NULL,0,NULL,0,&BytesReturned,(LPOVERLAPPED)NULL );
}
else
{
// return(0);
// RETAILMSG(RADIODBG,(L"RADIO : Open Driver NG\r\n"));
}
}
void CTest2Dlg::OnBUTSeekUp()
{
// TODO: Add your control notification handler code here
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
DWORD BytesReturned;
DeviceIoControl( g_hRadioDev, IOCTL_RADIO_SEEK_UP, NULL,0,NULL,0,&BytesReturned,(LPOVERLAPPED)NULL);
}
OnBUTGetFreq();
}
void CTest2Dlg::OnBUTSeekDown()
{
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
DWORD BytesReturned;
DeviceIoControl( g_hRadioDev, IOCTL_RADIO_SEEK_DOWN, NULL,0,NULL,0,&BytesReturned,(LPOVERLAPPED)NULL);
}
OnBUTGetFreq();
}
void CTest2Dlg::OnBUTGetFreq()
{
// TODO: Add your control notification handler code here
CString aa=_T("Non");
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
DWORD BytesReturned;
unsigned short Freq;
DeviceIoControl( g_hRadioDev, IOCTL_RADIO_GET_FREQ, NULL,0,&Freq,sizeof(Freq),&BytesReturned,(LPOVERLAPPED)NULL);
aa.Format(_T("%d"), Freq);
TRACE(_T("Current Freq =%d\n"), Freq);
}
GetDlgItem(IDC_ED_Freq)->SetWindowText(aa);
}
void CTest2Dlg::OnBUTSetFreq()
{
// TODO: Add your control notification handler code here
if(g_hRadioDev != INVALID_HANDLE_VALUE)
{
DWORD BytesReturned;
// DeviceIoControl( g_hRadioDev, IOCTL_RADIO_SEEK_DOWN, NULL,0,NULL,0,&BytesReturned,(LPOVERLAPPED)NULL);
}
else
{
// return(0);
// RETAILMSG(RADIODBG,(L"RADIO : Open Driver NG\r\n"));
}
}
void CTest2Dlg::OnBUTReadRDS()
{
// TODO: Add your control notification handler code here
int i;
char buf[1024]={0,};
DWORD BytesRead;
CString aa=_T("Non");
if(ReadFile(g_hRadioDev, buf, 1024, &BytesRead, NULL))
{
GetDlgItem(IDC_ED_RDSRead)->SetWindowText(_T("AAAAAAA"));
aa.Format(_T("Rd=%d"), BytesRead);
TRACE(_T("\tRead RDS [%d]"), BytesRead);
for(i=0;i<1024;i++)
{
TRACE(_T(" %02X"),buf[i]);
}
TRACE(_T("\n"));
}
GetDlgItem(IDC_ED_RDSRead)->SetWindowText(aa);
}
void CTest2Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if ( nIDEvent == 1 )
{
static int icount=0;
TRACE(_T("Timer [%d] !\n"), icount++);
if ( icount>100 )
icount=0;
OnBUTReadRDS();
}
CDialog::OnTimer(nIDEvent);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -