C++ - 在 DDX_Text 函数中 nIDC 应该是唯一的吗?
C++ - in DDX_Text function should a nIDC be unique?
假设我们有一些 Dialog
并且在 DoDataExchange
函数中我们有一些 DDX_Text
调用可以处理一些文本字段。
让我们看一个原型:
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, CString& value );
我是 Windows 对话框和动态数据交换机制的新手,我还没有足够快地找到答案。
有些东西告诉我 nIDC
应该是唯一值,但实际上在实际项目中我发现这并不总是正确的。
所以问题是:我们什么时候可以 nIDC
独一无二,什么时候不能?我们应该还是不应该?
显然 nIDC 必须独一无二。如果您拥有两个或更多具有相同价值的资源,您永远不想遇到这样的情况。
我自己在 DoDataExchange 之外经常使用 DDX_Text 来 read/write 控制值。从控件读取值的示例:
UINT num;
CDataExchange dx( this, TRUE );
DDX_Text( &dx, IDC_EDIT1, num );
假设我们有一些 Dialog
并且在 DoDataExchange
函数中我们有一些 DDX_Text
调用可以处理一些文本字段。
让我们看一个原型:
void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, CString& value );
我是 Windows 对话框和动态数据交换机制的新手,我还没有足够快地找到答案。
有些东西告诉我 nIDC
应该是唯一值,但实际上在实际项目中我发现这并不总是正确的。
所以问题是:我们什么时候可以 nIDC
独一无二,什么时候不能?我们应该还是不应该?
显然 nIDC 必须独一无二。如果您拥有两个或更多具有相同价值的资源,您永远不想遇到这样的情况。
我自己在 DoDataExchange 之外经常使用 DDX_Text 来 read/write 控制值。从控件读取值的示例:
UINT num;
CDataExchange dx( this, TRUE );
DDX_Text( &dx, IDC_EDIT1, num );