[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 414
  • Last Modified:

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?
0
cneaton
Asked:
cneaton
1 Solution
 
jhanceCommented:
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
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
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

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

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

Tackle projects and never again get stuck behind a technical roadblock.
Join Now