我是C++的新手,我正在使用MFC。我有一个对话框,当您连接相机时,它会显示相机的信息。

这是该对话框的资源代码
IDD_PVSIMPLEUISAMPLE DIALOGEX 0, 0, 575, 284
STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW
CAPTION "PvSimpleUISample"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "Select / Connect",IDC_CONNECT_BUTTON,10,16,86,16
PUSHBUTTON "Disconnect",IDC_DISCONNECT_BUTTON,97,16,87,16,WS_DISABLED
LTEXT "IP address",IDC_STATIC,10,41,45,8
EDITTEXT IDC_IP_EDIT,65,37,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "MAC address",IDC_STATIC,10,58,50,8
EDITTEXT IDC_MAC_EDIT,65,55,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "Manufacturer",IDC_STATIC,10,75,50,8
EDITTEXT IDC_MANUFACTURER_EDIT,65,72,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "Model",IDC_STATIC,10,93,44,8
EDITTEXT IDC_MODEL_EDIT,65,90,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "Name",IDC_STATIC,10,110,44,8
EDITTEXT IDC_NAME_EDIT,65,107,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
GROUPBOX "Connection",IDC_STATIC,4,4,187,123
LTEXT "Mode",IDC_STATIC,10,144,55,8
COMBOBOX IDC_MODE,66,141,118,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Channel",IDC_STATIC,9,160,56,8
OMBOBOX IDC_CHANNEL,66,157,118,30,CBS_DROPDOWNLIST | CBS_SORT | WS_DISABLED | WS_VSCROLL | WS_TABSTOP
CONTROL "Play",IDC_START,"Button",BS_OWNERDRAW | WS_TABSTOP,13,171,44,26
CONTROL "Stop",IDC_STOP,"Button",BS_OWNERDRAW | WS_TABSTOP,75,172,42,26
CONTROL "Settings",IDC_SETTINGS,"Button",BS_OWNERDRAW | WS_TABSTOP,135,172,43,26
GROUPBOX "Parameters and Controls",IDC_CONTROL_GROUP,4,206,187,73
PUSHBUTTON "Communication control",IDC_LINK_BUTTON,10,218,174,17,WS_DISABLED
PUSHBUTTON "Device control",IDC_DEVICE_BUTTON,10,237,174,17,WS_DISABLED
PUSHBUTTON "Image stream control",IDC_STREAMPARAMS_BUTTON,10,256,174,17,WS_DISABLED
GROUPBOX "Display",IDC_DISPLAY_GROUP,198,4,371,275
PUSHBUTTON "Display",IDC_DISPLAYPOS,205,17,355,254,NOT WS_VISIBLE | WS_DISABLED
GROUPBOX "Acquisition Control",IDC_CONTROL_GROUP2,4,128,187,77
END然后,我创建了一个新的对话框,当您单击设置按钮时将打开该对话框。我复制了几行代码到新对话框中,但是从摄像头传输的实际数据没有显示出来。

以下是设置对话框的代码
IDD_SETTINGS DIALOGEX 0, 0, 444, 319
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Settings"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,205,298,50,14
LTEXT "IP address",IDC_STATIC,10,41,45,8
EDITTEXT IDC_IP_EDIT,65,37,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "MAC address",IDC_STATIC,10,58,50,8
EDITTEXT IDC_MAC_EDIT,65,55,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "Manufacturer",IDC_STATIC,10,75,50,8
EDITTEXT IDC_MANUFACTURER_EDIT,65,72,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "Model",IDC_STATIC,10,93,44,8
EDITTEXT IDC_MODEL_EDIT,65,90,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
LTEXT "Name",IDC_STATIC,10,110,44,8
EDITTEXT IDC_NAME_EDIT,65,107,119,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED
END如何使数据显示在对话框中?我需要为它创建一个完整的类吗?任何帮助/建议都将受到重视。
发布于 2015-07-24 17:08:08
在第一个对话框中,您可以声明第二个对话框的类对象,使用该对象获取item控件对象,然后设置数据。所以你可以这样做,在设置按钮的回调函数中,添加以下代码:
CAAADialog::OnXXXButton()
{
CBBBDialog dlgb;
dlgb.DoModal();
dlgb.GetDlgItem(IDC_IP_EDIT)->SetWindowText(m_strIp);
dlgb.GetDlgItem(IDC_MAC_EDIT)->SetWindowText(m_strMac);
dlgb.GetDlgItem(IDC_MANUFACTURER_EDIT)->SetWindowText(m_strManufacture);
dlgb.GetDlgItem(IDC_NAME_EDIT)->SetWindowText(m_strName);
}https://stackoverflow.com/questions/31580197
复制相似问题