C++ - в функции DDX_Text должен быть уникальным nIDC?

Допустим, у нас есть некоторые Dialog И в DoDataExchange функция у нас есть некоторые DDX_Text звонки, которые работают с некоторыми текстовыми полями. Давайте посмотрим на прототип:

void AFXAPI DDX_Text( CDataExchange* pDX, int nIDC, CString& value );

Я новичок в диалоговых окнах Windows и этой механике динамического обмена данными, и я не нашел ответа достаточно быстро. Что-то говорит мне, что nIDC должно быть уникальным значением, но на самом деле в реальном проекте я вижу, что это не всегда так.

Итак, вопрос в том, когда мы можем иметь nIDC а когда нет? Должны мы или не должны?

1 ответ

Решение

Понятно, что nIDC должен быть уникальным. Вы никогда не хотите быть в ситуации, если у вас есть два или более ресурса с одинаковым значением.

Я сам довольно часто использую DDX_Text вне DoDataExchange для чтения / записи контрольного значения. Пример чтения из контроля в значение:

UINT num;
CDataExchange dx( this, TRUE );
DDX_Text( &dx, IDC_EDIT1, num );
Другие вопросы по тегам