Disappearing Dialog

I have dialog-based application in which a dialog box is displayed once the user presses a button on the initial screen.  The problem is if the user presses the "ENTER" key in one of the edit boxes of the dialog box, the dialog box closes and the focus shifts back to the initial screen.  How can I make it so that the dialog box does not close (or disappear) until the user presses the "OK" button?
cneatonAsked:
Who is Participating?
 
jhanceConnect With a Mentor Commented:
Add a handler for OnOK using the Class Wizard and be sure to do something other than call the CDialog::OnOK() handler which will close the dialog.
0
 
chualCommented:
Your "OK" button is set as default button. As a result, Pressing the "ENTER" button will amount to clicking on the "OK" button. Change the style of the "OK" button by unchecking the "Default" style.

chua
0
 
chualCommented:
I meant changing the properties of the "OK" button by unchecking the "Default button" style.
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
Meir RivkinFull stack Software EngineerCommented:
do u have an OK button on your dialog?
if u do, change its ID to ID_OK and handle its click:
CDialog::OnOK();
0
 
chualCommented:
Since he still wants to allow the user clicking OK to close the dialog box, he does not need to do anything with his OnOK() handler. Simply changing the property of the OK button will do the job.
0
 
chualCommented:
hi cneaton,

how are you getting along with your problem? were you able to get it work or you still need more clarification?

chual
0
 
SundarCommented:
The comments given previously will exactly predict ur problem and u can solve them easily. I will give it some more clear (It will be useful if u are a biginner).

Please know some some thing about the property Default of a push button.

When u log into windows or some other application u might have found that after typing ur password just pressing enter will (accepts ur password) close the login dialog and logs u in (Keep in mind that u haven't pressed the OK button). This happens because of the Default property of the OK Button.

If u press Esc key on the same dialog u might have found the dialog closes ignoring ur password and other changes this is due to the Cancel property of the Cancel Button in the doalog.

As in the previous comments remove the Default property of the OK button. To do that right-click on the OK button select properties. in the properties dialog go to styles Tab there uncheck the Default Button check box.
0
 
SundarCommented:
If ur dialog still closes due to Esc/Enter Keys I will give u the code to remove that (if u want it) !!
0
 
pkreddyCommented:
Hi,
 Open the EditBox properties window and check mark the  style "Want Return", this will solve the problem.
-- PK
0
 
cneatonAuthor Commented:
Hello everyone, and thanks for the comments.  My dialog didn't have an "OK" button on it, so I just overrode the OnOK function since the dialog equated pressing the "ENTER" key to hitting the OK button.  Thanks again for all of your help!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.