Пример #1
0
HRESULT RenderSetupDlg::CheckPI(UINT nAdapter, D3DDEVTYPE devtype)
{
	SetDlgItemText(IDC_STATIC1,_T("Present Interval: "));
	DeleteAllItem(m_pBox);
	D3DCAPS9 caps;
	m_pD3D->GetDeviceCaps(nAdapter, devtype, &caps);

	m_pBox->AddString(_T("D3DPRESENT_INTERVA_DEFAULT"));
	if(caps.PresentationIntervals & D3DPRESENT_INTERVAL_IMMEDIATE)
		m_pBox->AddString(_T("D3DPRESENT_INTERVAL_IMMEDIATE"));
	if(caps.PresentationIntervals & D3DPRESENT_INTERVAL_ONE)
		m_pBox->AddString(_T("D3DPRESENT_INTERVAL_ONE"));
	if(caps.PresentationIntervals & D3DPRESENT_INTERVAL_TWO)
		m_pBox->AddString(_T("D3DPRESENT_INTERVAL_TWO"));
	if(caps.PresentationIntervals & D3DPRESENT_INTERVAL_THREE)
		m_pBox->AddString(_T("D3DPRESENT_INTERVAL_THREE"));
	if(caps.PresentationIntervals & D3DPRESENT_INTERVAL_FOUR)
		m_pBox->AddString(_T("D3DPRESENT_INTERVAL_FOUR"));
	CString str;
	for(int i=0;i<m_pBox->GetCount();i++){
		m_pBox->GetLBText(i,str);
		if(str==m_strPresentInterval){
			m_pBox->SetCurSel(i);
			return S_OK;
		}
	}
	m_pBox->SetCurSel(0);
	m_pBox->GetLBText(0,m_strPresentInterval);
	SetListBox(m_nListBoxIndex,m_strPresentInterval);
	return S_OK;
}
Пример #2
0
HRESULT RenderSetupDlg::CheckFormatBuffer(int nAdapter, D3DDEVTYPE devtype, D3DFORMAT format, bool bFullscreen)
{
	SetDlgItemText(IDC_STATIC1,_T("Buffer Format: "));
	DeleteAllItem(m_pBox);
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,format,D3DFMT_X8R8G8B8,!bFullscreen)))
		m_pBox->AddString(_T("D3DFMT_X8R8G8B8"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,format,D3DFMT_A8R8G8B8,!bFullscreen)))
		m_pBox->AddString(_T("D3DFMT_A8R8G8B8"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,format,D3DFMT_X1R5G5B5,!bFullscreen)))
		m_pBox->AddString(_T("D3DFMT_X1R5G5B5"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,format,D3DFMT_A1R5G5B5,!bFullscreen)))
		m_pBox->AddString(_T("D3DFMT_A1R5G5B5"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,format,D3DFMT_R5G6B5,!bFullscreen)))
		m_pBox->AddString(_T("D3DFMT_R5G6B5"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,format,D3DFMT_A2R10G10B10,!bFullscreen)))
		m_pBox->AddString(_T("D3DFMT_A2R10G10B10"));
	CString str;
	for(int i=0;i<m_pBox->GetCount();i++){
		m_pBox->GetLBText(i,str);
		if(str==m_strBufferFormat){
			m_pBox->SetCurSel(i);
			return S_OK;
		}
	}
	m_pBox->SetCurSel(0);
	m_pBox->GetLBText(0,m_strBufferFormat);
	SetListBox(m_nListBoxIndex,m_strBufferFormat);
	return S_OK;
}
Пример #3
0
HRESULT RenderSetupDlg::CheckVP(UINT nAdapter, D3DDEVTYPE devtype)
{
	SetDlgItemText(IDC_STATIC1,_T("Vertex Processing: "));
	DeleteAllItem(m_pBox);
	D3DCAPS9 caps;
	m_pD3D->GetDeviceCaps(nAdapter, devtype, &caps);

	m_pBox->AddString(_T("SOFTWARE_VP"));
	if(caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)
	{
		m_pBox->AddString(_T("HARDWARE_VP"));
	}
	CString str;
	for(int i=0;i<m_pBox->GetCount();i++){
		m_pBox->GetLBText(i,str);
		if(str==m_strVertexProcessing){
			m_pBox->SetCurSel(i);
			return S_OK;
		}
	}
	m_pBox->SetCurSel(0);
	m_pBox->GetLBText(0,m_strVertexProcessing);
	SetListBox(m_nListBoxIndex,m_strVertexProcessing);
	return S_OK;
}
Пример #4
0
HRESULT RenderSetupDlg::CheckResolution(int nAdapter, D3DFORMAT format)
{
	SetDlgItemText(IDC_STATIC1,_T("Resolution: "));
	DeleteAllItem(m_pBox);
	CString str;
	D3DDISPLAYMODE d3ddm;
	int w=0,h=0;
	for(int i=0;i<m_pD3D->GetAdapterModeCount(nAdapter,format);i++)
	{
		m_pD3D->EnumAdapterModes(nAdapter,format,i,&d3ddm);
		if(d3ddm.Width<640)
			continue;
		if(w!=d3ddm.Width&&h!=d3ddm.Height)
			w=d3ddm.Width,h=d3ddm.Height;
		else
			continue;
		str.Format(_T("%d * %d"),d3ddm.Width,d3ddm.Height);
		m_pBox->AddString(str);
	}
	for(int i=0;i<m_pBox->GetCount();i++){
		m_pBox->GetLBText(i,str);
		if(str==m_strResolution){
			m_pBox->SetCurSel(i);
			break;
		}
	}
	return S_OK;
}
Пример #5
0
HRESULT RenderSetupDlg::CheckFormat(int nAdapter, D3DDEVTYPE devtype, bool bFullscreen)
{
	SetDlgItemText(IDC_STATIC1,_T("Display Format: "));
	DeleteAllItem(m_pBox);
	if(bFullscreen==false)
	{
		D3DDISPLAYMODE d3ddm;
		m_pD3D->GetAdapterDisplayMode(nAdapter,&d3ddm);
		m_strDisplayFormat = FmtToString(d3ddm.Format);
		m_pBox->AddString(m_strDisplayFormat);
		m_pBox->SetCurSel(0);
		SetListBox(3,m_strDisplayFormat);
		return S_OK;
	}
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,D3DFMT_X8R8G8B8,D3DFMT_X8R8G8B8,true)))
		m_pBox->AddString(_T("D3DFMT_X8R8G8B8"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,D3DFMT_X1R5G5B5,D3DFMT_X1R5G5B5,true)))
		m_pBox->AddString(_T("D3DFMT_X1R5G5B5"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,D3DFMT_R5G6B5,D3DFMT_R5G6B5,true)))
		m_pBox->AddString(_T("D3DFMT_R5G6B5"));
	if(SUCCEEDED(m_pD3D->CheckDeviceType(nAdapter,devtype,D3DFMT_A2R10G10B10,D3DFMT_A2R10G10B10,true)))
		m_pBox->AddString(_T("D3DFMT_A2R10G10B10"));
	CString str;
	for(int i=0;i<m_pBox->GetCount();i++){
		m_pBox->GetLBText(i,str);
		if(str==m_strDisplayFormat){
			m_pBox->SetCurSel(i);
			return S_OK;
		}
	}
	m_pBox->SetCurSel(0);
	return S_OK;
}
Пример #6
0
CGraphListCtrl::~CGraphListCtrl()
{
	DeleteAllItem();
	m_TitleTip.DestroyWindow();
	acgsGetGsManager()->destroyAutoCADModel(m_pOrbitModel);
	if (NULL != GetSafeHwnd())
	{
		DestroyWindow();
	}
}
Пример #7
0
 BOOL _Populate(IShellFolder* pFolder, LPCITEMIDLIST pidlParent, DWORD dwAttribs)
 {
     ATLASSERT(pidlParent);
     DeleteAllItem();
     EShellTreeItem tiParent = (HELEMENT)GetRootItem();
     EShellTreeItem tItem = _InsertItem(pFolder, pidlParent, NULL, 
                 dwAttribs, tiParent);
     Expand(tItem);
     SetCurSel(tItem);
     return TRUE;
 }
Пример #8
0
HRESULT RenderSetupDlg::CheckFullscreen(void)
{
	SetDlgItemText(IDC_STATIC1,_T("FullScreen: "));
	DeleteAllItem(m_pBox);
	m_pBox->AddString(_T("False"));
	m_pBox->AddString(_T("True"));
	if(m_bFullScreen)
		m_pBox->SetCurSel(1);
	else
		m_pBox->SetCurSel(0);
	return S_OK;
}
Пример #9
0
HRESULT RenderSetupDlg::CheckDevtype(void)
{
	SetDlgItemText(IDC_STATIC1,_T("Device Type: "));
	DeleteAllItem(m_pBox);
	m_pBox->AddString(_T("D3DDEVTYPE_HAL"));
	m_pBox->AddString(_T("D3DDEVTYPE_REF"));
	CString str;
	for(int i=0;i<m_pBox->GetCount();i++){
		m_pBox->GetLBText(i,str);
		if(str==DevtypeToString(m_DeviceType)){
			m_pBox->SetCurSel(i);
			return S_OK;
		}
	}
	m_pBox->SetCurSel(0);
	return S_OK;
}
Пример #10
0
HRESULT RenderSetupDlg::CheckAdapter(void)
{
	SetDlgItemText(IDC_STATIC1,_T("Adapter: "));
	DeleteAllItem(m_pBox);
	CString str;
	D3DADAPTER_IDENTIFIER9 pIdentifier;
	ZeroMemory(&pIdentifier,sizeof(pIdentifier));
	for(int i=0;i< m_pD3D->GetAdapterCount();i++)
	{
		if(m_pD3D->GetAdapterIdentifier(i,0,&pIdentifier)==E_FAIL){
			MessageBox(_T("Cannot get adapter count!"));
			return E_FAIL;
		}
		str+=pIdentifier.Description;
		m_pBox->AddString(str);
	}
	m_pBox->SetCurSel(m_nAdapter);
	return S_OK;
}
Пример #11
0
void RenderSetupDlg::OnLbnSelchangeList()
{
	// TODO: 在此添加控件通知处理程序代码
	m_nListBoxIndex=m_pLBox->GetCurSel();
	if(m_nListBoxIndex==0)
		CheckAdapter();
	else if(m_nListBoxIndex==1)
		CheckDevtype();
	else if(m_nListBoxIndex==2)
		CheckFullscreen();
	else if(m_nListBoxIndex==3)
		CheckFormat(m_nAdapter, m_DeviceType, m_bFullScreen);
	else if(m_nListBoxIndex==4)
		CheckFormatBuffer(m_nAdapter,m_DeviceType, StringToFmt(m_strDisplayFormat),m_bFullScreen);
	else if(m_nListBoxIndex==5)
		CheckResolution(m_nAdapter,StringToFmt(m_strDisplayFormat));
	else if(m_nListBoxIndex==6)
		CheckVP(m_nAdapter, m_DeviceType);
	else if(m_nListBoxIndex==7)
		CheckPI(m_nAdapter, m_DeviceType);
	else
		DeleteAllItem(m_pBox);
}
Пример #12
0
void CGraphListCtrl::OnNcDestroy()
{
	DeleteAllItem();

	CWnd::OnNcDestroy();
}
Пример #13
0
void CIDMSComboBox::ResetContent( )
{
	DeleteAllItem();
}