找不到vc对话框中灰色变量和哪个控件关联
看别人编写好的程序,是基于对话框的。对话框类有如下定义://DialogData//{{AFX_DATA(CMVCTestDlg)enum{IDD=IDD_MVCTEST...
看别人编写好的程序,是基于对话框的。
对话框类有如下定义:
// Dialog Data
//{{AFX_DATA(CMVCTestDlg)
enum { IDD = IDD_MVCTEST_DIALOG };
CComboBox m_BayerMode;
CComboBox m_iBayerMode;
CComboBox m_HookDispMode;
CSliderCtrl m_DispRateSlider;
CComboBox m_CDevList;
double m_dZoomRatio;
BOOL m_bDispHwnd;
UINT mGSFrameCount;
UINT m_CurFrameNo;
CString mSequenceLocation;
BOOL m_bHOOKSaveFile;
BOOL m_bDisp;
DWORD m_DispRate;
DWORD m_TotalCapRate;
DWORD m_LastFrameNo;
float m_SkipFrameNum;
BOOL m_bSwitch;
int m_SaveFileType;
BOOL m_bMultiCast;
BOOL m_bHookInfo;
//}}AFX_DATA
定义的变量都是灰色的。但是有一个变量BOOL m_bHOOKSaveFile;找不到
和哪个对话框的控件关联,从类向导看的。
现在的问题是: 1 这个变量是不是没有和对话框中的控件关联?
2 如果没有关联,为什么定义在宏中,颜色是灰色的,和普通定义的类的变量(不是灰色的)有什么区别么?这个变量是怎么定义的?
谢谢了。
谢谢了,那既然是定义,那么和普通的定义类的成员变量区别是什么呢?二者的作用有什么不同呢?
关联到DoDataExchange有什么特殊的作用么? 展开
对话框类有如下定义:
// Dialog Data
//{{AFX_DATA(CMVCTestDlg)
enum { IDD = IDD_MVCTEST_DIALOG };
CComboBox m_BayerMode;
CComboBox m_iBayerMode;
CComboBox m_HookDispMode;
CSliderCtrl m_DispRateSlider;
CComboBox m_CDevList;
double m_dZoomRatio;
BOOL m_bDispHwnd;
UINT mGSFrameCount;
UINT m_CurFrameNo;
CString mSequenceLocation;
BOOL m_bHOOKSaveFile;
BOOL m_bDisp;
DWORD m_DispRate;
DWORD m_TotalCapRate;
DWORD m_LastFrameNo;
float m_SkipFrameNum;
BOOL m_bSwitch;
int m_SaveFileType;
BOOL m_bMultiCast;
BOOL m_bHookInfo;
//}}AFX_DATA
定义的变量都是灰色的。但是有一个变量BOOL m_bHOOKSaveFile;找不到
和哪个对话框的控件关联,从类向导看的。
现在的问题是: 1 这个变量是不是没有和对话框中的控件关联?
2 如果没有关联,为什么定义在宏中,颜色是灰色的,和普通定义的类的变量(不是灰色的)有什么区别么?这个变量是怎么定义的?
谢谢了。
谢谢了,那既然是定义,那么和普通的定义类的成员变量区别是什么呢?二者的作用有什么不同呢?
关联到DoDataExchange有什么特殊的作用么? 展开
1个回答
展开全部
这个是定义了,关联在源文件里面的DoDataExchange里面
再就是,可以吧定义放在这里面啊,并不是颜色灰了就是控件的,或组是作者定义的时候放在这里面了。其实要看关联没很简单。复制那个变量,放到VC的菜单查询里面(就是有个图像是望远镜的那个)。然后找到优有没关联的
比如
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.cpp(37): DDX_Control(pDX, IDC_edit, m_editStart);
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.cpp(96): m_editStart.SetWindowText("00:00:00");
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.cpp(209): m_editStart.GetWindowText(starttime);
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.h(27): CEdit m_editStart;
比如这是我查询一个空间。那第一个就是关联控件的ID
关联到DoDataExchange,作用,就是将控件变量与控件进行关联。怎么说呢,额,很难表达出来,就是说,你一般添加控件变量,首先是定义一个类型,比如:int a;这个是在头文件里,也仅仅定义了一个变量而已,但控件并没有与之关联,比如你的EDIT框,它输入的值还个你定义的变量没有关系,所以,你得在DoDataExchange里面关联,也就是告诉程序,在EDIT里面输入的是int类型的,并且值赋给a。控件变量其实跟普通变量没什么区别。其实你可以随便定义一个变量,CString strabc;本来是你在程序里定义好了的,但,有一天,你想让这个变量在运行的时候通过控件来输入,就在DoDataExchange关联一个控件DDX_Control(pDX, IDC_edit, m_strabc);定义的位置随便。之所以通过classwizal定义的控件变量放在/ Dialog Data
//{{AFX_DATA(CMVCTestDlg)下面,只是为了统一,或者是方便你看到。只要是在头文件的位置就可以了。你随便在头文件里找个位置写上pubic:CString str;都行。但关联位置不能变
再就是,可以吧定义放在这里面啊,并不是颜色灰了就是控件的,或组是作者定义的时候放在这里面了。其实要看关联没很简单。复制那个变量,放到VC的菜单查询里面(就是有个图像是望远镜的那个)。然后找到优有没关联的
比如
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.cpp(37): DDX_Control(pDX, IDC_edit, m_editStart);
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.cpp(96): m_editStart.SetWindowText("00:00:00");
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.cpp(209): m_editStart.GetWindowText(starttime);
D:\3.15_最近要用的\AIS\网络学习AIS\ShipInfo_\InquireLoginDlg.h(27): CEdit m_editStart;
比如这是我查询一个空间。那第一个就是关联控件的ID
关联到DoDataExchange,作用,就是将控件变量与控件进行关联。怎么说呢,额,很难表达出来,就是说,你一般添加控件变量,首先是定义一个类型,比如:int a;这个是在头文件里,也仅仅定义了一个变量而已,但控件并没有与之关联,比如你的EDIT框,它输入的值还个你定义的变量没有关系,所以,你得在DoDataExchange里面关联,也就是告诉程序,在EDIT里面输入的是int类型的,并且值赋给a。控件变量其实跟普通变量没什么区别。其实你可以随便定义一个变量,CString strabc;本来是你在程序里定义好了的,但,有一天,你想让这个变量在运行的时候通过控件来输入,就在DoDataExchange关联一个控件DDX_Control(pDX, IDC_edit, m_strabc);定义的位置随便。之所以通过classwizal定义的控件变量放在/ Dialog Data
//{{AFX_DATA(CMVCTestDlg)下面,只是为了统一,或者是方便你看到。只要是在头文件的位置就可以了。你随便在头文件里找个位置写上pubic:CString str;都行。但关联位置不能变
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询