Contents Up Previous Next

wxCloseEvent

This event class contains information about window and session close events.

The handler function for EVT_CLOSE is called when the user has tried to close a a frame or dialog box using the window manager (X) or system menu (Windows). It can also be invoked by the application itself programmatically, for example by calling the wxWindow::Close function.

You should check whether the application is forcing the deletion of the window using wxCloseEvent::CanVeto. If this is false, you must destroy the window using wxWindow::Destroy. If the return value is true, it is up to you whether you respond by destroying the window.

If you don't destroy the window, you should call wxCloseEvent::Veto to let the calling code know that you did not destroy the window. This allows the wxWindow::Close function to return true or false depending on whether the close instruction was honoured or not.

Derived from

wxEvent

Include files

<wx/event.h>

Event table macros

To process a close event, use these event handler macros to direct input to member functions that take a wxCloseEvent argument.

EVT_CLOSE(func) Process a close event, supplying the member function. This event applies to wxFrame and wxDialog classes.
EVT_QUERY_END_SESSION(func) Process a query end session event, supplying the member function. This event applies to wxApp only.
EVT_END_SESSION(func) Process an end session event, supplying the member function. This event applies to wxApp only.
See also

wxWindow::Close, wxApp::OnQueryEndSession, Window deletion overview

Members

wxCloseEvent::wxCloseEvent
wxCloseEvent::CanVeto
wxCloseEvent::GetLoggingOff
wxCloseEvent::GetSessionEnding
wxCloseEvent::GetForce
wxCloseEvent::SetCanVeto
wxCloseEvent::SetForce
wxCloseEvent::SetLoggingOff
wxCloseEvent::Veto


wxCloseEvent::wxCloseEvent

wxCloseEvent(WXTYPE commandEventType = 0, int id = 0)

Constructor.


wxCloseEvent::CanVeto

bool CanVeto()

Returns true if you can veto a system shutdown or a window close event. Vetoing a window close event is not possible if the calling code wishes to force the application to exit, and so this function must be called to check this.


wxCloseEvent::GetLoggingOff

bool GetLoggingOff() const

Returns true if the user is logging off.


wxCloseEvent::GetSessionEnding

bool GetSessionEnding() const

Returns true if the session is ending.


wxCloseEvent::GetForce

bool GetForce() const

Returns true if the application wishes to force the window to close. This will shortly be obsolete, replaced by CanVeto.


wxCloseEvent::SetCanVeto

void SetCanVeto(bool canVeto)

Sets the 'can veto' flag.


wxCloseEvent::SetForce

void SetForce(bool force) const

Sets the 'force' flag.


wxCloseEvent::SetLoggingOff

void SetLoggingOff(bool loggingOff) const

Sets the 'logging off' flag.


wxCloseEvent::Veto

void Veto(bool veto = true)

Call this from your event handler to veto a system shutdown or to signal to the calling application that a window close did not happen.

You can only veto a shutdown if wxCloseEvent::CanVeto returns true.