I'm using Visual C++.NET. When the user clicked on the X in the upper right corner of my gui, I want to close my files and sockets before the gui terminates. Which form event would get triggered when the X is clicked? I don't know where to find the list of available Form events. In VB 6.0, Form_Terminate, Form_Unload, or Form_QueryUnload are events that may be used.

WM_CLOSE (specifically when the X button is clicked)
WM_DESTROY (when the window is destroyed)

Example of a Dialog:

BOOL CALLBACK ExampleDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)

{[indent]switch (message){

[indent]case WM_INITDIALOG:

[indent]// Almost like the dialogs constructor return TRUE; //Dialog will stay visible
[/indent][indent]case WM_CLOSE:  

{// Do stuff before closing the dialog[indent]EndDialog(hDlg, IDCANCEL);

[/indent][/indent]return FALSE;


NOTE: the EndDialog usage passes in IDCANCEL. Becuase the WM_COMMAND case is not shown in this example, most likly you would pass in a 0 or 1 instead of IDCANCEL.