📄 recinforgb.cpp
字号:
// RecInfoRGB.cpp : implementation file
//
#include "stdafx.h"
#include "bxt.h"
#include "bxtdlg.h"
#include "RecInfoRGB.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// RecInfoRGB dialog
RecInfoRGB::RecInfoRGB(CWnd* pParent /*=NULL*/)
: CDialog(RecInfoRGB::IDD, pParent)
{
//{{AFX_DATA_INIT(RecInfoRGB)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void RecInfoRGB::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(RecInfoRGB)
DDX_Control(pDX, IDC_SLIDER3, m_b);
DDX_Control(pDX, IDC_SLIDER2, m_g);
DDX_Control(pDX, IDC_SLIDER1, m_r);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(RecInfoRGB, CDialog)
//{{AFX_MSG_MAP(RecInfoRGB)
ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
ON_WM_HSCROLL()
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
ON_BN_CLICKED(IDC_RADIO5, OnRadio5)
ON_BN_CLICKED(IDC_RADIO6, OnRadio6)
ON_BN_CLICKED(IDC_RADIO7, OnRadio7)
ON_BN_CLICKED(IDC_RADIO8, OnRadio8)
ON_BN_CLICKED(IDC_RADIO9, OnRadio9)
ON_BN_CLICKED(IDC_RADIO10, OnRadio10)
ON_BN_CLICKED(IDC_RADIO11, OnRadio11)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// RecInfoRGB message handlers
void RecInfoRGB::OnRadio3()
{
//Bright Adjust
char ss[10];
// int r,g,b;
GetPrivateProfileString("OK_RGB10","Brightness","0x7f7f7f",ss,9,"Okadrv.ini");
sscanf(ss,"0x%2x%2x%2x",&r,&g,&b);
m_r.SetPos(r);
m_g.SetPos(g);
m_b.SetPos(b);
}
void RecInfoRGB::OnRadio4()
{
//Contrast Adjust
char ss[10];
// int r,g,b;
GetPrivateProfileString("OK_RGB10","Contrast","0x7f7f7f",ss,9,"Okadrv.ini");
sscanf(ss,"0x%2x%2x%2x",&r,&g,&b);
m_r.SetPos(r);
m_g.SetPos(g);
m_b.SetPos(b);
}
void RecInfoRGB::OnRadio1()
{
//set Video Soruce 1
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSRC,1,0);
}
void RecInfoRGB::OnRadio2()
{
//set Video Soruce 2
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSRC,2,0);
}
BOOL RecInfoRGB::OnInitDialog()
{
CDialog::OnInitDialog();
m_r.SetRange(0,255);
m_g.SetRange(0,255);
m_b.SetRange(0,255);
( (CButton*)GetDlgItem(IDC_RADIO3) )->SetCheck(1);
char ss[10];
// int r,g,b;
GetPrivateProfileString("OK_RGB10","Brightness","0x7f7f7f",ss,9,"Okadrv.ini");
sscanf(ss,"0x%2x%2x%2x",&r,&g,&b);
m_r.SetPos(r);
m_g.SetPos(g);
m_b.SetPos(b);
GetPrivateProfileString("OK_RGB10","SourceChan","0x200",ss,6,"Okadrv.ini");
long sourcechan;
sscanf(ss,"0x%3x",&sourcechan);
if(sourcechan==0x200)
{
( (CButton*)GetDlgItem(IDC_RADIO1) )->SetCheck(1);
}
else if(sourcechan==0x201)
{
( (CButton*)GetDlgItem(IDC_RADIO2) )->SetCheck(1);
}
GetPrivateProfileString("OK_RGB10","TVStandard","0x0",ss,4,"Okadrv.ini");
sscanf(ss,"0x%1x",&sourcechan);
if(sourcechan==0)
{
( (CButton*)GetDlgItem(IDC_RADIO6) )->SetCheck(1);
}
else if(sourcechan==1)
{
( (CButton*)GetDlgItem(IDC_RADIO5) )->SetCheck(1);
}
else
{
( (CButton*)GetDlgItem(IDC_RADIO7) )->SetCheck(1);
}
GetPrivateProfileString("OK_RGB10","SyncChann","0x0",ss,4,"Okadrv.ini");
sscanf(ss,"0x%1x",&sourcechan);
if(sourcechan==0)
{
( (CButton*)GetDlgItem(IDC_RADIO8) )->SetCheck(1);
}
else if(sourcechan==1)
{
( (CButton*)GetDlgItem(IDC_RADIO9) )->SetCheck(1);
}
else if(sourcechan==2)
{
( (CButton*)GetDlgItem(IDC_RADIO10) )->SetCheck(1);
}
else
{
( (CButton*)GetDlgItem(IDC_RADIO11) )->SetCheck(1);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void RecInfoRGB::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
int lck= ( (CButton*)GetDlgItem(IDC_CHECK1) )->GetCheck();
int bri= ( (CButton*)GetDlgItem(IDC_RADIO3) )->GetCheck();
long arg = (long) ((CSliderCtrl *) pScrollBar);
int rgb=0;
int delta;
if( arg == (long)(&m_r) )
{
rgb = 1;
delta = m_r.GetPos() - r;
}
else if( arg == (long)(&m_g) )
{
rgb = 2;
delta = m_g.GetPos() - g;
}
else if( arg == (long)(&m_b) )
{
rgb = 3;
delta = m_b.GetPos() - b;
}
if(lck==1)
{
r += delta;
g += delta;
b += delta;
if(r<0) r=0;if(r>255) r=255;
if(g<0) g=0;if(g>255) g=255;
if(b<0) b=0;if(b>255) b=255;
m_r.SetPos(r);
m_g.SetPos(g);
m_b.SetPos(b);
if(bri==1)
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,1,r);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,2,g);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,3,b);
}
else
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,4,r);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,5,g);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,6,b);
}
}
else
{
switch(rgb)
{
case 1:
r += delta;
if(bri==1)
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,1,r);
else
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,4,r);
break;
case 2:
g += delta;
if(bri==1)
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,2,g);
else
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,5,g);
break;
case 3:
b += delta;
if(bri==1)
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,3,b);
else
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,6,b);
break;
}
}
//((CBxtDlg *)AfxGetMainWnd())->imgpcs->SendMessage(WX_DSPCONBRI,MAKEWPARAM(m_v1,m_v2),0);
//GetPrivateProfileString("OK_RGB10","Contrast","0x7f7f7f",ss,9,"Okadrv.ini");
char ss[10];
sprintf(ss,"0x%2x%2x%2x",r,g,b);
if(bri==1)
WritePrivateProfileString("OK_RGB10","Brightness",ss,"Okadrv.ini");
else
WritePrivateProfileString("OK_RGB10","Contrast",ss,"Okadrv.ini");
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
/************************************\
| Reset The Bright and Contrast |
\************************************/
void RecInfoRGB::OnButton1()
{
int bri= ( (CButton*)GetDlgItem(IDC_RADIO3) )->GetCheck();
r=g=b=128;
m_r.SetPos(r);
m_g.SetPos(g);
m_b.SetPos(b);
char ss[10];
sprintf(ss,"0x%2x%2x%2x",r,g,b);
if(bri==1)
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,1,r);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,2,g);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,3,b);
WritePrivateProfileString("OK_RGB10","Brightness",ss,"Okadrv.ini");
}
else
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,4,r);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,5,g);
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETBRI,6,b);
WritePrivateProfileString("OK_RGB10","Contrast",ss,"Okadrv.ini");
}
}
/************************************\
| Set Video Standard N or Pal |
\************************************/
void RecInfoRGB::OnRadio5()
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSTN,7,1);
}
void RecInfoRGB::OnRadio6()
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSTN,7,0);
}
void RecInfoRGB::OnRadio7()
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSTN,7,2);
}
/*************************************\
| Set Video Sync signal channel |
\*************************************/
void RecInfoRGB::OnRadio8()
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSTN,10,MAKELPARAM(0,( (CButton*)GetDlgItem(IDC_RADIO2) )->GetCheck()));
}
void RecInfoRGB::OnRadio9()
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSTN,10,MAKELPARAM(1,( (CButton*)GetDlgItem(IDC_RADIO2) )->GetCheck()));
}
void RecInfoRGB::OnRadio10()
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSTN,10,MAKELPARAM(2,( (CButton*)GetDlgItem(IDC_RADIO2) )->GetCheck()));
}
void RecInfoRGB::OnRadio11()
{
((CBxtDlg*)AfxGetMainWnd())->rec->SendMessage(WX_RECSETSTN,10,MAKELPARAM(3,( (CButton*)GetDlgItem(IDC_RADIO2) )->GetCheck()));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -