如何给IDC_STATIC关联成员变量

VC中像Label、PictureBox之类的静态控件默认ID为IDC_STATIC,如果在程序中不对它们进行控制,而不用修改ID,如果要控制,必须修改其ID号,可改为任意未与其它控件重复的ID号,即可对它进行代码控制,包括添加变量.

转载于:https://www.cnblogs.com/zj27sWizardTower/archive/2009/06/09/1499631.html

void CGxSingleCamDlg::DoDataExchange(CDataExchange* pDX)//用于将控件中的数据加载到变量中,或将变量的数据更新到控件中。 { CDialog::DoDataExchange(pDX); //DDX_Check(pDX, IDC_CHECK_SAVE_BMP, m_bCheckSaveBmp); DDX_Text(pDX, IDC_EDIT_SHUTTER, m_dEditShutterValue); DDX_Text(pDX, IDC_EDIT_GAIN, m_dEditGainValue); DDX_Text(pDX, IDC_EDIT_BALANCE_WHITE_SERISE, m_dEditBalanceRatioValue); DDX_Control(pDX, IDC_SHOW_PICTURE_STATIC, m_p1); DDX_Control(pDX, IDC_SHOW_PICTURE_STATIC2, m_p2); DDX_Control(pDX, IDC_SHOW_PICTURE_STATIC3, m_p3); DDX_Control(pDX, IDC_SHOW_PICTURE_STATIC4, m_p4); } BEGIN_MESSAGE_MAP(CGxSingleCamDlg, CDialog)//消息宏 ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BTN_OPEN_DEVICE, &CGxSingleCamDlg::OnBnClickedBtnOpenDevice) ON_BN_CLICKED(IDC_BTN_CLOSE_DEVICE, &CGxSingleCamDlg::OnBnClickedBtnCloseDevice) ON_BN_CLICKED(IDC_BTN_START_SNAP, &CGxSingleCamDlg::OnBnClickedBtnStartSnap) ON_BN_CLICKED(IDC_BTN_STOP_SNAP, &CGxSingleCamDlg::OnBnClickedBtnStopSnap) //ON_CBN_SELCHANGE(IDC_COMBO_TRIGGER_MODE, &CGxSingleCamDlg::OnCbnSelchangeComboTriggerMode) //ON_CBN_SELCHANGE(IDC_COMBO_TRIGGER_SOURCE, &CGxSingleCamDlg::OnCbnSelchangeComboTriggerSource) //ON_CBN_SELCHANGE(IDC_COMBO_TRIGGER_ACTIVE, &CGxSingleCamDlg::OnCbnSelchangeComboTriggerActive) //ON_BN_CLICKED(IDC_CHECK_SAVE_BMP, &CGxSingleCamDlg::OnBnClickedCheckSaveBmp) ON_WM_CLOSE() ON_CBN_SELCHANGE(IDC_COMBO_BALANCE_WHITE_AUTO, &CGxSingleCamDlg::OnCbnSelchangeComboBalanceWhiteAuto) ON_CBN_SELCHANGE(IDC_COMBO_BALANCE_WHITE_SELECT, &CGxSingleCamDlg::OnCbnSelchangeComboBalanceWhiteSelect) //ON_BN_CLICKED(IDC_BTN_SOFTTRIGGER, &CGxSingleCamDlg::OnBnClickedBtnSofttrigger) ON_EN_KILLFOCUS(IDC_EDIT_GAIN, &CGxSingleCamDlg::OnEnKillfocusEditGain) ON_EN_KILLFOCUS(IDC_EDIT_BALANCE_WHITE_SERISE, &CGxSingleCamDlg::OnEnKillfocusEditBalanceWhiteSerise) ON_WM_TIMER() ON_EN_KILLFOCUS(IDC_EDIT_SHUTTER, &CGxSingleCamDlg::OnEnKillfocusEditShutter) ON_BN_CLICKED(IDC_BUTTON1, &CGxSingleCamDlg::OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON2, &CGxSingleCamDlg::OnBnClickedButton2) ON_BN_CLICKED(IDC_BUTTON4, &CGxSingleCamDlg::OnBnClickedButton4) ON_BN_CLICKED(IDC_BUTTON8, &CGxSingleCamDlg::OnBnClickedButton8) END_MESSAGE_MAP() // CGxSingleCamDlg 消息处理程序 BOOL CGxSingleCamDlg::OnInitDialog() { CDialog::OnInitDialog(); // 设置窗口为可调整大小 //ModifyStyle(0, WS_THICKFRAME | WS_OVERLAPPEDWINDOW); // 使窗口可缩放 // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 try { //初始化设备 IGXFactory::GetInstance().Init(); //将窗口指针指向picture控件 m_pWnd = GetDlgItem(IDC_SHOW_PICTURE_STATIC); m_pSampleCaptureEventHandle = new CSampleCaptureEventHandler(); //获取可执行程序的当前路径 char strFileName[MAX_PATH] = {0}; string strSavePath = ""; size_t nPos = 0; GetModuleFileName(NULL,(LPCH)strFileName,MAX_PATH); strSavePath = strFileName; nPos = strSavePath.find_last_of('\\'); m_strSavePath = strSavePath.substr(0,nPos); m_strSavePath = m_strSavePath +"\\GxSingleCamImages"; //设置定时器 SetTimer(0,1000,NULL); //更新界面 __UpdateUI(); } catch (CGalaxyException& e) { if (m_pSampleCaptureEventHandle != NULL) { delete m_pSampleCaptureEventHandle; m_pSampleCaptureEventHandle = NULL; } MessageBox(e.what()); return FALSE; } catch (std::exception& e) { if (m_pSampleCaptureEventHandle != NULL) { delete m_pSampleCaptureEventHandle; m_pSampleCaptureEventHandle = NULL; } MessageBox(e.what()); return FALSE; } // 初始化控件(可选,MFC 默认会绑定) m_Edit1.SubclassDlgItem(IDC_EDIT1, this); m_Edit2.SubclassDlgItem(IDC_EDIT2, this); m_Edit3.SubclassDlgItem(IDC_EDIT3, this); m_Edit4.SubclassDlgItem(IDC_EDIT4, this); m_Edit5.SubclassDlgItem(IDC_EDIT5, this); m_Edit6.SubclassDlgItem(IDC_EDIT6, this); m_Edit7.SubclassDlgItem(IDC_EDIT7, this); m_Edit8.SubclassDlgItem(IDC_EDIT8, this); m_Edit9.SubclassDlgItem(IDC_EDIT9, this); // 初始化 Modbus 连接 ctx = modbus_new_rtu("COM7", 115200, 'N', 8, 1); if (ctx == nullptr) { AfxMessageBox(_T("Unable to create the libmodbus context!")); return FALSE; } // 设置 Modbus 从站ID modbus_set_slave(ctx, 1); // 设置超时 modbus_set_response_timeout(ctx, 0, 200000); // 打开连接 if (modbus_connect(ctx) == -1) { AfxMessageBox(_T("Connection failed!")); modbus_free(ctx); return FALSE; } // 设置定时器,每 200 毫秒更新一次显示 SetTimer(1, 200, NULL); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE }修复代码
最新发布
11-25
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值