Holy cow, I wrote a book!
When you use a dialog editor and insert new
controls, they typically are assigned control IDs
starting at around 100. Why?
Because the small numbers are already taken.
* Dialog Box Command IDs
#define IDOK 1
#define IDCANCEL 2
#define IDABORT 3
#define IDRETRY 4
#define IDIGNORE 5
#define IDYES 6
#define IDNO 7
#define IDCLOSE 8
#define IDHELP 9
#define IDTRYAGAIN 10
#define IDCONTINUE 11
The dialog manager knows about these special values
and assumes that if your dialog box has a control whose
ID matches one of these special values, then it also
behaves in a certain way.
The dialog manager assumes that
a control whose ID is IDOK is an OK button.
If the user hits Enter, the default button will be pushed;
if no default button can be found, then the OK button is pushed.
Similarly, a control whose ID is IDCANCEL is assumed to be
a Cancel button.
If the user hits ESC or clicks the X button in the corner,
then the Cancel button is pushed.
If your dialog box has OK and Cancel buttons, make sure to
give them the IDOK and IDCANCEL control IDs so that they
act like proper OK and Cancel buttons. Conversely, any
control with those IDs had better be proper OK and Cancel buttons.