📄 searchchannel.c
字号:
#include"dvbutils.h"
#include"PrDmx.h"
#include"PrTuner.h"
#include"dvbepg.h"
#include"PrSync.h"
#define IDC_FREQ 0x20
#define IDC_SYMBLE 0x21
#define IDC_MODULATION 0x22
#define IDC_SEARCH 0x23
#define IDC_STRENGTH 0x24
#define IDC_SN 0x25
#define IDT_SINGLEEVENT 0x100
static int RecvCount,TotalCount;
HWND schWnd;
static LRESULT SearchProc(HWND hwnd,UINT msgID,UINT wParam,UINT lParam)
{
switch(msgID)
{
case WM_TIMER:
{
PRTunerStatus st;
PrTunerGetStatus(0,&st);
SendMessage(GetDlgItem(hwnd,IDC_STRENGTH),PBM_SETPOS,st.level,0);
SendMessage(GetDlgItem(hwnd,IDC_SN),PBM_SETPOS,st.snr,0);
TRACE("Get STRENGTH\r\n");
}break;
case WM_KEYDOWN:
{
PRTunerParams tune;
if(wParam!=VK_RETURN){
DefWindowProc(hwnd,msgID,wParam,lParam);
return 0;
}
tune.frequency=GetDlgItemInt(hwnd,IDC_FREQ,NULL,FALSE);
tune.u.qam.modulation=64;
tune.u.qam.symbol_rate=6875;
if(PrTunerSet(0,&tune)==PrOK){
SearchSingleTS();
CreateDefaultGroup(1);
UpdateAllGroup();
}
}break;
default:return DefWindowProc(hwnd,msgID,wParam,lParam);
}
return 0;
}
HWND SearchChannelWnd(void)
{
HWND ctl,wnd;
wnd=CreateMainWindow("Search Channels",WS_VISIBLE|WS_OVERLAPPEDWINDOW,110,120,450,260,SearchProc);
CreateWindow("Static","Frequency",WS_VISIBLE|WS_CHILD|SS_RIGHT,20,10,130,30,wnd,(HMENU)1,NULL,NULL);
CreateWindow("Static","Symbol Rate",WS_VISIBLE|WS_CHILD|SS_RIGHT,20,50,130,30,wnd,(HMENU)2,NULL,NULL);
//CreateWindow("Static","Modulation",WS_VISIBLE|WS_CHILD|WS_BORDER|SS_RIGHT,20,90,130,30,wnd,(HMENU)3,NULL,NULL);
CreateWindow("Static","Strength",WS_VISIBLE|WS_CHILD|WS_BORDER|SS_RIGHT,20,130,130,30,wnd,(HMENU)4,NULL,NULL);
CreateWindow("Static","S/N",WS_VISIBLE|WS_CHILD|WS_BORDER|SS_RIGHT,20,170,130,30,wnd,(HMENU)5,NULL,NULL);
ctl=CreateWindow("EditBox","411000",WS_TABSTOP|WS_VISIBLE|WS_CHILD|WS_BORDER|ES_NUMBER,180,10,200,30,wnd,(HMENU)IDC_FREQ,NULL,NULL); //main frequency
CreateWindow("EditBox","6875",WS_TABSTOP|WS_VISIBLE|WS_CHILD|WS_BORDER,180,50,200,30,wnd,(HMENU)IDC_SYMBLE,NULL,NULL); //symbol rate
CreateWindow("Select","Modulation",WS_TABSTOP|WS_VISIBLE|WS_CHILD|WS_BORDER|OPS_LABELRIGHT,20,90,350,30,wnd,(HMENU)IDC_MODULATION,NULL,NULL);//modulation
// CreateWindow("Button","Search",WS_TABSTOP|WS_VISIBLE|WS_CHILD|WS_BORDER,180,90,200,30,wnd,IDC_MODULATION);//modulation
ctl=CreateWindow("Progress",NULL,WS_VISIBLE|WS_CHILD,180,135,260,20,wnd,(HMENU)IDC_STRENGTH,NULL,NULL);
SendMessage(ctl,PBM_SETRANGE,0,MAKELONG(0,100));
ctl=CreateWindow("Progress",NULL,WS_VISIBLE|WS_CHILD|PBS_MARQUEE|PBS_SMOOTH,
180,175,260,20,wnd,(HMENU)IDC_SN,NULL,NULL);
SendMessage(ctl,PBM_SETRANGE,0,MAKELONG(0,100));
SendDlgItemMessage(wnd,IDC_MODULATION,OPT_ADDSTRING,0,(LPARAM)"8 QAM");
SendDlgItemMessage(wnd,IDC_MODULATION,OPT_ADDSTRING,0,(LPARAM)"16 QAM");
SendDlgItemMessage(wnd,IDC_MODULATION,OPT_ADDSTRING,0,(LPARAM)"32 QAM");
SendDlgItemMessage(wnd,IDC_MODULATION,OPT_ADDSTRING,0,(LPARAM)"64 QAM");
SendDlgItemMessage(wnd,IDC_MODULATION,OPT_ADDSTRING,0,(LPARAM)"128 QAM");
SendDlgItemMessage(wnd,IDC_MODULATION,OPT_ADDSTRING,0,(LPARAM)"256 QAM");
SendDlgItemMessage(wnd,IDC_MODULATION,OPT_SETCURSEL,3,0);
SetTimer(wnd,IDT_SINGLEEVENT,850,NULL);
return wnd;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -