// PortConfigurationDlg.cpp: 实现文件 // #include "stdafx.h" #include "Servo.h" #include "afxdialogex.h" #include "PortConfigurationDlg.h" // CPortConfigurationDlg 对话框 IMPLEMENT_DYNAMIC(CPortConfigurationDlg, CDialogEx) CPortConfigurationDlg::CPortConfigurationDlg(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DIALOG_PORT_CONFIGURATION, pParent) { } CPortConfigurationDlg::~CPortConfigurationDlg() { } void CPortConfigurationDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CPortConfigurationDlg, CDialogEx) END_MESSAGE_MAP() // CPortConfigurationDlg 消息处理程序 BOOL CPortConfigurationDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化 // 绑定自定义控件(必须与资源中的 ID 一致) m_wndGrid.SubclassDlgItem(IDC_GRID_PANEL_RECIPE, this); // 设置行列数 m_wndGrid.SetRowCount(9); // 包括表头1行 + 数据8行 m_wndGrid.SetColumnCount(4); // 设置固定的表头行 m_wndGrid.SetFixedRowCount(1); m_wndGrid.SetFixedColumnCount(0); // 设置列标题 m_wndGrid.SetItemText(0, 0, _T("Slot ID")); m_wndGrid.SetItemText(0, 1, _T("EQ Recipe")); m_wndGrid.SetItemText(0, 2, _T("Panel ID")); m_wndGrid.SetItemText(0, 3, _T("✓")); // 设置列宽 m_wndGrid.SetColumnWidth(0, 60); m_wndGrid.SetColumnWidth(1, 150); m_wndGrid.SetColumnWidth(2, 150); m_wndGrid.SetColumnWidth(3, 40); // 填充数据行 for (int i = 1; i <= 8; ++i) { CString str; str.Format(_T("%d"), i); m_wndGrid.SetItemText(i, 0, str); } return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE }