CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 3 of 3
  1. #1
    Join Date
    Sep 1999
    Location
    Pennsylvania
    Posts
    16

    What type of Dialog box am I thinking of?

    Let's say I want to create a dialog box that behaves like that of the ones in Photoshop 5.0. They are a toolbox frame style and are always on top of the parent window. I'm not concerned about snapping windows together via gravity, but I'd like to create a dialog that is not Modal, but yet not completely free from the parent.

    What type of window is this and how can I find out how to use it?

    Thanks.

    ---
    Shawn Poulson
    [email protected]

  2. #2
    Join Date
    Sep 1999
    Posts
    2

    Re: What type of Dialog box am I thinking of?

    If you're using Microsoft Visual C++, you might want to look under help, under CreateDialog. Here's the help page:

    CreateDialog
    The CreateDialog macro creates a modeless dialog box from a dialog box template resource. The CreateDialog macro uses the CreateDialogParam function.

    HWND CreateDialog( HINSTANCE hInstance,
    // handle to application instance

    LPCTSTR lpTemplate,
    // identifies dialog box template name

    HWND hWndParent,
    // handle to owner window

    DLGPROC lpDialogFunc
    // pointer to dialog box procedure

    );



    Parameters
    hInstance

    Identifies an instance of the module whose executable file contains the dialog box template.

    lpTemplate

    Identifies the dialog box template. This parameter is either the pointer to a null-terminated character string that specifies the name of the dialog box template or an integer value that specifies the resource identifier of the dialog box template. If the parameter specifies a resource identifier, its high-order word must be zero and its low-order word must contain the identifier. You can use the MAKEINTRESOURCE macro to create this value.

    hWndParent

    Identifies the window that owns the dialog box.

    lpDialogFunc

    Points to the dialog box procedure. For more information about the dialog box procedure, see DialogProc.

    Return Values
    If the function succeeds, the return value is the handle to the dialog box.

    If the function fails, the return value is NULL.

    Remarks
    The CreateDialog function uses the CreateWindowEx function to create the dialog box. CreateDialog then sends a WM_INITDIALOG message (and a WM_SETFONT message if the template specifies the DS_SETFONT style) to the dialog box procedure. The function displays the dialog box if the template specifies the WS_VISIBLE style. Finally, CreateDialog returns the window handle to the dialog box.

    After CreateDialog returns, the application displays the dialog box (if it is not already displayed) by using the ShowWindow function. The application destroys the dialog box by using the DestroyWindow function.

    Windows 95: The system can support a maximum of 16,364 window handles.

    See Also
    CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogBox, DialogProc, ShowWindow, WM_INITDIALOG, WM_SETFONT

    Good luck!
    Nathan Sugioka


  3. #3
    Join Date
    Sep 1999
    Location
    Maine
    Posts
    5

    Re: What type of Dialog box am I thinking of?

    What you are thinking of is a "modeless" dialog box. They are a little tricky, but not too bad. Instead of creating a class for your dialog and then calling DoModal(), you should call Create() instead..... look into the "CDialog::Create()" function for more details.
    Hope this helped
    ~DM


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured