I am writing a MFC program in which I have a a lot of Editboxes and I want to get all their text values and put them in a container. How can I achieve this without writing a line for each ID. I’m using this code for each ID:
CEdit *edit;
edit = reinterpret_cast<CEdit *>(GetDlgItem(IDC_NAME1));
But if I use that method I would have to write it 45 times. That doesn’t seem right.
Is there a way of getting all the Editboxes in a container so I can use them that way or something like that?
I am writing a MFC program in which I have a a lot of
Share
You can certainly create an array (or other container) or pointers to CEdit:
CEdit edits[45];If the values ofIDC_NAME1throughIDC_NAME45are contiguous, you can just do something like:If those identifiers may not be contiguous, then you can put them in an array, and just index into that array as needed.
One caution: unless they’re something like a grid of otherwise nearly identical edit controls, 45 on a screen may well be a bit much. If they are like a grid, you might want to look at one of the many available grid controls instead.