mrDarker
2025-05-27 0e9b642c051a3546777873d6e4f31bdbd8b57be1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// 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
}