1 // SupportedFormatDlg.cpp: 实现文件 2 // 3 4 #include "stdafx.h" 5 #include "MusicPlayer2.h" 6 #include "SupportedFormatDlg.h" 7 #include "afxdialogex.h" 8 #include "AudioCommon.h" 9 10 11 // CSupportedFormatDlg 对话框 12 13 IMPLEMENT_DYNAMIC(CSupportedFormatDlg, CDialog) 14 15 CSupportedFormatDlg::CSupportedFormatDlg(CWnd* pParent /*=nullptr*/) 16 : CDialog(IDD_SUPPORT_FORMAT_DIALOG, pParent) 17 { 18 19 } 20 21 CSupportedFormatDlg::~CSupportedFormatDlg() 22 { 23 } 24 25 void CSupportedFormatDlg::DoDataExchange(CDataExchange* pDX) 26 { 27 CDialog::DoDataExchange(pDX); 28 DDX_Control(pDX, IDC_FORMAT_LIST, m_format_list); 29 } 30 31 32 BEGIN_MESSAGE_MAP(CSupportedFormatDlg, CDialog) 33 ON_WM_GETMINMAXINFO() 34 END_MESSAGE_MAP() 35 36 37 // CSupportedFormatDlg 消息处理程序 38 39 40 BOOL CSupportedFormatDlg::OnInitDialog() 41 { 42 CDialog::OnInitDialog(); 43 44 // TODO: 在此添加额外的初始化 45 46 SetIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME), FALSE); // 设置小图标 47 48 //获取初始时窗口的大小 49 CRect rect; 50 GetWindowRect(rect); 51 m_min_size.cx = rect.Width(); 52 m_min_size.cy = rect.Height(); 53 54 //初始化列表 55 //m_format_list.SetColor(theApp.m_app_setting_data.theme_color); 56 m_format_list.GetWindowRect(rect); 57 int width0, width1, width2; 58 width0 = theApp.DPI(100); 59 width1 = rect.Width() / 3; 60 width2 = rect.Width() - width1 - width0 - theApp.DPI(20) - 1; 61 62 m_format_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_LABELTIP); 63 m_format_list.InsertColumn(0, CCommon::LoadText(IDS_PLUGIN_FILE_NAME), LVCFMT_LEFT, width0); //插入第1列 64 m_format_list.InsertColumn(1, CCommon::LoadText(IDS_FORMAT_SUPPORTED), LVCFMT_LEFT, width1); //插入第2列 65 m_format_list.InsertColumn(2, CCommon::LoadText(IDS_FILE_EXTENSION), LVCFMT_LEFT, width2); //插入第2列 66 67 int index = 0; 68 for (const auto support_format : CAudioCommon::m_surpported_format) 69 { 70 if (!support_format.file_name.empty()) 71 { 72 m_format_list.InsertItem(index, support_format.file_name.c_str()); 73 m_format_list.SetItemText(index, 1, support_format.description.c_str()); 74 m_format_list.SetItemText(index, 2, support_format.extensions_list.c_str()); 75 76 index++; 77 } 78 } 79 80 return TRUE; // return TRUE unless you set the focus to a control 81 // 异常: OCX 属性页应返回 FALSE 82 } 83 84 void CSupportedFormatDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI) 85 { 86 // TODO: 在此添加消息处理程序代码和/或调用默认值 87 //限制窗口最小大小 88 lpMMI->ptMinTrackSize.x = m_min_size.cx; //设置最小宽度 89 lpMMI->ptMinTrackSize.y = m_min_size.cy; //设置最小高度 90 91 CDialog::OnGetMinMaxInfo(lpMMI); 92 } 93