MODELESS DIALOG
The Dialog boxes are either modal or modeless. The modal dialog box should be closed (Unloaded or hidden) before you can continue the working with the rest of the application. For illustration, the dialog box is modal if it needs you to click OK or Cancel before you can switch to the other form or dialog box.
The About dialog box in the Visual Basic is modal.
Dialog boxes: That displays the significant messages which should always be modal - that is, the user should always be needed to close the dialog box or respond to its message before proceeding.
Modeless dialog: let you move the focus between the dialog box and the other form without having to close the dialog box. You can carry on working elsewhere in the present application while the dialog box is exhibited. The Modeless dialog boxes are rare. Through the Edit menu, the Find dialog box in the Visual Basic is an illustration of a modeless dialog box. The use the modeless dialog boxes to display the frequently used commands or information.
The steps shown below should be following to create a modeless dialog.
1. Build a SDI application.
2. Build a global variable m_dlg of the CDialog type. To generate a global variable click the class tabpage. Now choose the view class. Right click and select the add member variable.
3. Build a dialog resource using the resource editor.
To produce the dialog resource, click on the resource tabpage.
Expand the dialog resources.
Choose the dialog option.
Right Click it and select insert from the pop up menu.
Select the resource type as the dialog
Click new to create the new dialog (IDD_DIALOG1) given in the constructor.
4. Initialize the dialog resource in the view constructor which is as shown below:
CModalessView::CModalessView()
{
m_dlg.Create(IDD_DIALOG1,this);
}
The Create function in the constructor assign the dialog to the m_dlg CDialog object.
5. Handle the message WM_LBUTTONDBLCLK for the object id CModalessView and type the coding as shown beow in the handler.
void CModalessView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
m_dlg.ShowWindow(SW_SHOW);
}
The Show Window is used for displaying the modeless dialog.
6. Construct and execute the project.
7. Whenever the left button is double clicked, then the window is displayed.
8. You can continue the working with the other windows.
9. The modeless dialog will minimize whenever you work with the other windows.
10. On clicking Alt + Tab key concurrently the modeless dialog is displayed.