Solved

What does cancel property of button do?

Posted on 2011-09-07
10
374 Views
Last Modified: 2012-05-12
What does cancel property of button do?
0
Comment
Question by:Ashok
10 Comments
 
LVL 100

Expert Comment

by:mlmcc
ID: 36499853
If it is like the VB property, it allows you to cancel the action if you set it to TRUE

mlmcc
0
 
LVL 37

Accepted Solution

by:
Geert Gruwez earned 500 total points
ID: 36499902
this property is mostly used with modal forms

for the ok button, the property Default is set to True
for the cancel button, the property Cancel is set to True

This is allows someone using Enter or Esc (resp Ok button, Cancel button) to close the modal form

you get the modal result of a form (which button was pressed)
case Form.ShowModal of
  mrCancel: ShowMessage('Cancel was pressed');
  mrOk: ShowMessage('Ok was pressed');
else
  ShowMessage('Some other values');
end;
0
 
LVL 13

Author Comment

by:Ashok
ID: 36499967
Esc key calls OnClick event handler of the button

Following are choices to pick the correct answer from
a) It automatically displays Cancel as the Button caption
b) It determines if the button's OnClick event handler is called when the Escape key <Esc> is pressed on the keyboard
c) It calls the parent forms' OnClose event
d) It causes popup menu to be displayed when the button is clicked which permits the user to select Cancel

d is incorrect answer.

In this test, it allows to select only one answer.  Are there more than 1 correct answer for above?

Thanks,
Ashok
0
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

 

Expert Comment

by:HubbleFlubble
ID: 36499978
Please note that to give a ModalResult back from ShowModal on that form, you have to set the ModalResult property of the button to mrCancel.
0
 
LVL 37

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 500 total points
ID: 36499983
it's b
0
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 36499992
just check the delphi code for the keystroke:
procedure TCustomButton.CMDialogKey(var Message: TCMDialogKey);
begin
  with Message do
    if  (((CharCode = VK_RETURN) and FActive) or
      ((CharCode = VK_ESCAPE) and FCancel)) and
      (KeyDataToShiftState(Message.KeyData) = []) and CanFocus then
    begin
      Click;
      Result := 1;
    end else
      inherited;
end;

Open in new window

0
 
LVL 13

Author Comment

by:Ashok
ID: 36499997
Geert_Gruwez,

I thought so.

What about a?
When we use Cancel property, does it by default also change Caption to "Cancel"?

This can be only verified if you have Delphi installed on your computer.

Thanks,
Ashok
0
 
LVL 37

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 500 total points
ID: 36500001
no, this is a misdeception

this happens when you change the kind property to bkCancel of a TBitBtn
0
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 36500004
verified ?
or from experience :)
0
 
LVL 13

Author Comment

by:Ashok
ID: 36500017
I have not verified as I have Window 7 64 bit and no Delphi installed.

But from experience, as far as I remember.
I might be wrong.

Ashok
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Syntax Check Delphi Seattle IOS app without MAC ? 1 96
Best Firemonkey component pack 1 101
Correct Component for Shopping Cart. 2 104
DBGrid or StringGrid ? 6 88
A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now