// setDataSave.cpp : 実装ファイル // #include "stdafx.h" #include "Rinions.h" #include "SetDataSave.h" // CSetDataSave ダイアログ IMPLEMENT_DYNAMIC(CSetDataSave, CDialog) CSetDataSave::CSetDataSave(NiSDK_Lib lib, CParameterSet prm, CWnd* pParent /*=NULL*/) : CDialog(CSetDataSave::IDD, pParent) { param = prm; sdk_lib = lib; if (param.saveBVHFPS<10) param.saveBVHFPS = 10; else if (param.saveBVHFPS>60) param.saveBVHFPS = 60; orgCBox = NULL; oniCBox = NULL; bvhCBox = NULL; bvhFmtCombo = NULL; bvhFPSCombo = NULL; divTimeEBox = NULL; szScaleEBox = NULL; // divTime = param.saveDivTime; divTime = 0; szScale = param.saveSzScale; } void CSetDataSave::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CSetDataSave, CDialog) ON_BN_CLICKED(IDC_RADIO_SAVE_ORG, &CSetDataSave::OnBnClickedRadioSaveOrg) ON_BN_CLICKED(IDC_RADIO_SAVE_ONI, &CSetDataSave::OnBnClickedRadioSaveOni) ON_BN_CLICKED(IDC_RADIO_SAVE_BVH, &CSetDataSave::OnBnClickedRadioSaveBvh) END_MESSAGE_MAP() // CSetDataSave メッセージ ハンドラ BOOL CSetDataSave::OnInitDialog() { TCHAR buf[LNAME]; CDialog::OnInitDialog(); orgCBox = (CButton*)GetDlgItem(IDC_RADIO_SAVE_ORG); oniCBox = (CButton*)GetDlgItem(IDC_RADIO_SAVE_ONI); bvhCBox = (CButton*)GetDlgItem(IDC_RADIO_SAVE_BVH); bvhFmtCombo = (CComboBox*)GetDlgItem(IDC_COMB_SAVE_BVH_FMT); bvhFPSCombo = (CComboBox*)GetDlgItem(IDC_COMB_SAVE_BVH_FPS); szScaleEBox = (CEdit*)GetDlgItem(IDC_EDIT_SAVE_SZSCALE); divTimeEBox = (CEdit*)GetDlgItem(IDC_EDIT_SAVE_DIVTIME); // bvhFmtCombo->SetCurSel(param.saveBVHFormat); bvhFPSCombo->SetCurSel(param.saveBVHFPS/10-1); sntprintf(buf, LNAME, _T("%6.3f"), szScale); szScaleEBox->SetWindowText(buf); sntprintf(buf, LNAME, _T("%d"), divTime); divTimeEBox->SetWindowText(buf); bvhFmtCombo->EnableWindow(FALSE); bvhFPSCombo->EnableWindow(FALSE); szScaleEBox->EnableWindow(FALSE); divTimeEBox->EnableWindow(FALSE); if (param.saveDataMode==FileDataBVH) { OnBnClickedRadioSaveBvh(); } else if (param.saveDataMode==FileDataONI) { OnBnClickedRadioSaveOni(); } else { OnBnClickedRadioSaveOrg(); } if (sdk_lib==NiSDK_Kinect) { if (param.saveDataMode==FileDataONI) OnBnClickedRadioSaveOrg(); oniCBox->EnableWindow(FALSE); } return TRUE; } void CSetDataSave::OnOK() { TCHAR buf[LNAME]; if (bvhCBox->GetCheck()) param.saveDataMode = FileDataBVH; else if (oniCBox->GetCheck()) param.saveDataMode = FileDataONI; else param.saveDataMode = FileDataJTXT; // param.saveBVHFormat = bvhFmtCombo->GetCurSel(); param.saveBVHFPS = (bvhFPSCombo->GetCurSel() + 1)*10; if (param.saveBVHFPS<10) param.saveBVHFPS = 10; else if (param.saveBVHFPS>60) param.saveBVHFPS = 60; szScaleEBox->GetWindowText(buf, LNAME); szScale = (float)ttof(buf); divTimeEBox->GetWindowText(buf, LNAME); divTime = ttoi(buf); param.saveSzScale = szScale; param.saveDivTime = divTime; CDialog::OnOK(); } void CSetDataSave::OnBnClickedRadioSaveOrg() { orgCBox->SetCheck(1); oniCBox->SetCheck(0); bvhCBox->SetCheck(0); bvhFmtCombo->EnableWindow(FALSE); bvhFPSCombo->EnableWindow(FALSE); szScaleEBox->EnableWindow(FALSE); divTimeEBox->EnableWindow(FALSE); } void CSetDataSave::OnBnClickedRadioSaveBvh() { orgCBox->SetCheck(0); oniCBox->SetCheck(0); bvhCBox->SetCheck(1); bvhFmtCombo->EnableWindow(TRUE); bvhFPSCombo->EnableWindow(TRUE); szScaleEBox->EnableWindow(TRUE); divTimeEBox->EnableWindow(TRUE); } void CSetDataSave::OnBnClickedRadioSaveOni() { orgCBox->SetCheck(0); oniCBox->SetCheck(1); bvhCBox->SetCheck(0); bvhFmtCombo->EnableWindow(FALSE); bvhFPSCombo->EnableWindow(FALSE); szScaleEBox->EnableWindow(FALSE); divTimeEBox->EnableWindow(FALSE); }