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; }
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; }
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; }
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; }
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; }
CGraphListCtrl::~CGraphListCtrl() { DeleteAllItem(); m_TitleTip.DestroyWindow(); acgsGetGsManager()->destroyAutoCADModel(m_pOrbitModel); if (NULL != GetSafeHwnd()) { DestroyWindow(); } }
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; }
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; }
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; }
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; }
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); }
void CGraphListCtrl::OnNcDestroy() { DeleteAllItem(); CWnd::OnNcDestroy(); }
void CIDMSComboBox::ResetContent( ) { DeleteAllItem(); }