设置 CheckBox 为 选择状态
BOOL COpenBurnIntestDlg::SelectCheckbox(HWND hWin, INTwidgetId)
{
HWND hCheckbox =::GetDlgItem(hWin,widgetId);
if( hCheckbox )
{
::SendMessage( hCheckbox,BM_SETCHECK, true, 0 );
return true;
}
return false;
}
void COpenBurnIntestDlg::InitWidgetInfo()
{
m_minutes.SetCheckboxId(WIDGET_MINUTES_CHECKBOXID);
m_minutes.SetEditId(WIDGET_MINUTES_EDITID);
m_minutes.SetName(WIDGET_MINUTES_NAME);
m_minutes.SetXmlMark(WIDGET_MINUTES_XML);
m_cycles.SetCheckboxId(WIDGET_CYCLES_CHECKBOXID);
m_cycles.SetEditId(WIDGET_CYCLES_EDITID);
m_cycles.SetName(WIDGET_CYCLES_NAME);
m_cycles.SetXmlMark(WIDGET_CYCLES_XML);
m_CPU.SetCheckboxId(WIDGET_CPU_CHECKBOXID);
m_CPU.SetEditId(WIDGET_CPU_EDITID);
m_CPU.SetName(WIDGET_CPU_NAME);
m_CPU.SetXmlMark(WIDGET_CPU_XML);
m_opticalDrives.SetCheckboxId(WIDGET_OPTICALDRIVE_CHECKBOXID);
m_opticalDrives.SetEditId(WIDGET_OPTICALDRIVE_EDITID);
m_opticalDrives.SetName(WIDGET_OPTICALDRIVE_NAME);
m_opticalDrives.SetXmlMark(WIDGET_OPTICALDRIVE_XML);
m_printer.SetCheckboxId(WIDGET_PRINTER_CHECKBOXID);
m_printer.SetEditId(WIDGET_PRINTER_EDITID);
m_printer.SetName(WIDGET_PRINTER_NAME);
m_printer.SetXmlMark(WIDGET_PRINTER_XML);
m_RAM.SetCheckboxId(WIDGET_RAM_CHECKBOXID);
m_RAM.SetEditId(WIDGET_RAM_EDITID);
m_RAM.SetName(WIDGET_RAM_NAME);
m_RAM.SetXmlMark(WIDGET_RAM_XML);
m_COMPort.SetCheckboxId(WIDGET_COMPORT_CHECKBOXID);
m_COMPort.SetEditId(WIDGET_COMPORT_EDITID);
m_COMPort.SetName(WIDGET_COMPORT_NAME);
m_COMPort.SetXmlMark(WIDGET_COMPORT_XML);
m_tape.SetCheckboxId(WIDGET_TAPE_CHECKBOXID);
m_tape.SetEditId(WIDGET_TAPE_EDITID);
m_tape.SetName(WIDGET_TAPE_NAME);
m_tape.SetXmlMark(WIDGET_TAPE_XML);
m_video.SetCheckboxId(WIDGET_VIDEO_CHECKBOXID);
m_video.SetEditId(WIDGET_VIDEO_EDITID);
m_video.SetName(WIDGET_VIDEO_NAME);
m_video.SetXmlMark(WIDGET_VIDEO_XML);
m_plugIn.SetCheckboxId(WIDGET_PLUGIN_CHECKBOXID);
m_plugIn.SetEditId(WIDGET_PLUGIN_EDITID);
m_plugIn.SetName(WIDGET_PLUGIN_NAME);
m_plugIn.SetXmlMark(WIDGET_PLUGIN_XML);
m_2DGraphics.SetCheckboxId(WIDGET_2DGRAPHICS_CHECKBOXID);
m_2DGraphics.SetEditId(WIDGET_2DGRAPHICS_EDITID);
m_2DGraphics.SetName(WIDGET_2DGRAPHICS_NAME);
m_2DGraphics.SetXmlMark(WIDGET_2DGRAPHICS_XML);
m_3DGraphics.SetCheckboxId(WIDGET_3DGRAPHICS_CHECKBOXID);
m_3DGraphics.SetEditId(WIDGET_3DGRAPHICS_EDITID);
m_3DGraphics.SetName(WIDGET_3DGRAPHICS_NAME);
m_3DGraphics.SetXmlMark(WIDGET_3DGRAPHICS_XML);
m_disks.SetCheckboxId(WIDGET_DISK_CHECKBOXID);
m_disks.SetEditId(WIDGET_DISK_EDITID);
m_disks.SetName(WIDGET_DISK_NAME);
m_disks.SetXmlMark(WIDGET_DISK_XML);
m_sound.SetCheckboxId(WIDGET_SOUND_CHECKBOXID);
m_sound.SetEditId(WIDGET_SOUND_EDITID);
m_sound.SetName(WIDGET_SOUND_NAME);
m_sound.SetXmlMark(WIDGET_SOUND_XML);
m_network.SetCheckboxId(WIDGET_NETWORK_CHECKBOXID);
m_network.SetEditId(WIDGET_NETWORK_EDITID);
m_network.SetName(WIDGET_NETWORK_NAME);
m_network.SetXmlMark(WIDGET_NETWORK_XML);
m_parallelPort.SetCheckboxId(WIDGET_PARALLELPORT_CHECKBOXID);
m_parallelPort.SetEditId(WIDGET_PARALLELPORT_EDITID);
m_parallelPort.SetName(WIDGET_PARALLELPORT_NAME);
m_parallelPort.SetXmlMark(WIDGET_PARALLELPORT_XML);
m_USB.SetCheckboxId(WIDGET_USB_CHECKBOXID);
m_USB.SetEditId(WIDGET_USB_EDITID);
m_USB.SetName(WIDGET_USB_NAME);
m_USB.SetXmlMark(WIDGET_USB_XML);
//加载多语言 "确定"按钮
if( NULL == m_ptrButtonOK )
{
m_ptrButtonOK = newWCHAR[MAX_PATH];
LoadString(NULL,OBIT_IDS_BUTTON_OK, m_ptrButtonOK, MAX_PATH );
}
if( NULL == m_ptrButtonYes )
{
m_ptrButtonYes = newWCHAR[MAX_PATH];
LoadString(NULL,OBIT_IDS_BUTTON_YES, m_ptrButtonYes, MAX_PATH );
}
}
BOOL COpenBurnIntestDlg::SetWidget( CMyWidget& widget,CXmlNodeWrapper xml, HWND hWin )
{
CXmlNodeWrapper xmlNode = xml.GetNode(widget.GetXmlMark() );
if( xmlNode.IsValid() && SelectCheckbox(hWin, widget.GetCheckboxId()) )
{
Sleep(200);
//设置文本数值
CString strText =xmlNode.GetText();
HWND hWinEdit = ::GetDlgItem(hWin, widget.GetEditId() );
if( hWinEdit )
{
if(strText.IsEmpty() )
{
strText= _T("100");
::SendMessage(hWinEdit,WM_SETTEXT,strText.GetLength(),(LPARAM)strText.GetBuffer());
}
else
{
::SendMessage(hWinEdit,WM_SETTEXT,strText.GetLength(),(LPARAM)strText.GetBuffer());
}
returntrue;
}
}
return false;
}
BOOL COpenBurnIntestDlg::SelectToolBarItem(HWND hWin , INTindex)
{
if(hWin)
{
HWND hToolBar =::FindWindowEx(hWin,NULL,_T("ToolbarWindow32"),NULL);
if (hToolBar)
{
CToolbarmyToolBar;
myToolBar.SetCtrlAction(hToolBar,index);
returntrue;
}
}
return false;
}
BOOL COpenBurnIntestDlg::SetTestPreferencesDisk( HWND hParents)
{
//先 打开工具条 的 第 5 个
if( !SelectToolBarItem( hParents,TOOLBAR_TEST_SET_TEST_PREFERENCES) )
{
return false;
}
Sleep(1000);
//BurnInTest Preferences
HWND preferences = ::FindWindow(NULL,WINDOW_TITLE_SET_TEST_PREFERENCES);
if( !preferences )
{
return false;
}
if( !SelectTab(preferences,TAB_DISK_MAJOR_DIFFERENCE, TAB_DISK_MINOR_DIFFERENCE ) )
{
ClickButton(WINDOW_TITLE_SET_TEST_PREFERENCES, m_ptrButtonOK );
returnfalse;
}
ClickButton(WINDOW_TITLE_SET_TEST_PREFERENCES, m_ptrButtonOK );
return true;
}
BOOL COpenBurnIntestDlg::SelectTab( HWND hWin, CStringlpMajorTarget, CString lpMinorTarget )
{
HWND hTab = ::FindWindowEx( hWin, NULL,_T("SysTabControl32"), NULL );
if( !hTab )
{
return false;
}
INT count = TabCtrl_GetItemCount(hTab);
for(INT i=0; i
{
TABCONTROL_SETCURFOCUS(hTab,i);
Sleep(1000);
HWND hChildren =::FindWindowEx(hWin, NULL, NULL, _T("Test Preferences"));
if( hChildren )
{
if(::FindWindowEx(hChildren, NULL, NULL, lpMajorTarget ) )
{
HWNDbutton = ::FindWindowEx(hChildren, NULL, NULL, lpMinorTarget);
if(button )
{
::SendMessage(button,BM_SETCHECK, true, 0);
returntrue;
}
}
}
}
return false;
}