dcsimg

Detail View in FileOpen Dialog

WEBINAR:
On-Demand

Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame


Environment: VC5 WinNT4/Win2000 ( Should work with VC6 and other Win platforms)

I wanted to have the standard file open dialog startup in detail view by default. The code gurus showed me how to customize the file open dialog but not a single article described how to start the fileopen dialog in detail view. I saw many people had specifically asked the same question but there were no answers. So, I set myself to figure out how to do this.

You can use any of the excellent articles describing how to extend the standard fileopen dialog as a starting point. Then add a few lines of code presented below to your extended dialogs OnInitDialog() method and presto! the fileopen dialog will have the detail button ( view) activated when it is shown.

The Magic, as you can see is done by posting the WM_COMMAND message to the parent of the extended fileopen dialog ( which is really the original file open dialog) with the ID (40964) of the push button for detail view. This simulates a click of the detail button and the detail view is activated for you.

The trick is simple. But I must warn you that the id of the push button for the detail view was not documented - at least I did not find it anywhere. I used spy++ tool (comes with VC5) in message mode to discover its id. I have tested this on WinNT and Win 2000. It may not work on other platforms.

BOOL MyFileOpenDialog::OnInitDialog() 
{
    CFileDialog::OnInitDialog();
    
    // heres the code to enable detail view

    CWnd *parent = GetParent();
    if ( parent != NULL ) {
       parent->PostMessage(WM_COMMAND, 40964, NULL);
    }

    // thats it !!

    return TRUE;
}


Comments

  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date