BOOL CModulePropertiesDlg::OnInitDialog() { CDialog::OnInitDialog(); // Get active document CFrameWnd *pFrameWnd = static_cast<CFrameWnd*>(GetParent()); m_pDocument = static_cast<CFamiTrackerDoc*>(pFrameWnd->GetActiveDocument()); CListCtrl *pSongList = static_cast<CListCtrl*>(GetDlgItem(IDC_SONGLIST)); pSongList->InsertColumn(0, _T("Songs"), 0, 150); pSongList->SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT); FillSongList(); // Expansion chips CComboBox *pChipBox = static_cast<CComboBox*>(GetDlgItem(IDC_EXPANSION)); int ExpChip = m_pDocument->GetExpansionChip(); CChannelMap *pChannelMap = theApp.GetChannelMap(); for (int i = 0; i < pChannelMap->GetChipCount(); ++i) pChipBox->AddString(pChannelMap->GetChipName(i)); pChipBox->SetCurSel(pChannelMap->GetChipIndex(ExpChip)); // Vibrato CComboBox *pVibratoBox = static_cast<CComboBox*>(GetDlgItem(IDC_VIBRATO)); pVibratoBox->SetCurSel((m_pDocument->GetVibratoStyle() == VIBRATO_NEW) ? 0 : 1); // Namco channel count CSliderCtrl *pChanSlider = static_cast<CSliderCtrl*>(GetDlgItem(IDC_CHANNELS)); pChanSlider->SetRange(1, 8); CString channelsStr; channelsStr.LoadString(IDS_PROPERTIES_CHANNELS); if (ExpChip == SNDCHIP_N163) { int Channels = m_pDocument->GetNamcoChannels(); pChanSlider->SetPos(Channels); pChanSlider->EnableWindow(TRUE); channelsStr.AppendFormat(_T(" %i"), Channels); } else { pChanSlider->SetPos(0); pChanSlider->EnableWindow(FALSE); channelsStr.Append(_T(" N/A")); } SetDlgItemText(IDC_CHANNELS_NR, channelsStr); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CModulePropertiesDlg::OnBnClickedSongImport() { CModuleImportDlg importDlg(m_pDocument); CFileDialog OpenFileDlg(TRUE, _T("ftm"), 0, OFN_HIDEREADONLY, _T("FamiTracker files (*.ftm)|*.ftm|All files (*.*)|*.*||"), theApp.GetMainWnd(), 0); if (OpenFileDlg.DoModal() == IDCANCEL) return; if (importDlg.LoadFile(OpenFileDlg.GetPathName(), m_pDocument) == false) return; importDlg.DoModal(); FillSongList(); }