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

📄 recinforgb.cpp

📁 超声影像工作站系统可与各种型号的B超、彩超连接
💻 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 + -