Open Dialog with Bitmap Preview

Here is how the dialog looks like:

How to include in your project

  1. Copy BmpDlg.cpp and BmpDlg.h into your project directory.
  2. Copy BmpDlg.rc into your res directory
  3. Add this line to your project's rc2 file:
    #include "BmpDlg.rc"
  4. Add BmpDlg.cpp to your project.

How to use

The dialog is used just as a regular FileOpen dialog.

It has one additional member variable m_showpreview that you can store in the registry to make the "Show Preview" setting persistent.

Some notes

This class illustrates the use of Hook procedures and additional templates for this kind of dialogs. It can be used as a template to create dialogs with other, more specific, previews.

Download Source.



Comments

  • Anyone can help me how to add this Source Code?

    Posted by nhat72 on 03/01/2006 07:55pm

    I have try to add this Source Code to my project in Visual Studio, but it seem like it doesn't recognize the new source code added! So, please show me somethings

    Reply
  • Has anyone fixed the flicker problem yet?

    Posted by Legacy on 02/15/2003 12:00am

    Originally posted by: Bruce

    Such a wonderful class, I simply love it for displaying
    
    bitmaps, and it is highly expandable. However it has an
    annoying flicker while blitting the bitmaps. If anyone has
    fixed this problem, will you please share the code. Thank
    you Luis Ortega and thank you to the person who stops the
    flicker.

    Reply
  • RE: 24bit RGB bitmap problem

    Posted by Legacy on 11/11/2002 12:00am

    Originally posted by: wang

    the problem is:
    when we use:
    CBmpDialog::hpreview = (HBITMAP)LoadImage(AfxGetInstanceHandle(), filename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);

    Here we use default size(real size) of the bitmap, so the StretchBlt function will stretch the bitmap. On most of display adapter, the pixels will be extruded as your discription.
    My method is: before you call LoadImage, you caclulate the bitmap size, and scale to suitable size. and then use the scale size instead the "0, 0". it'll be more beautiful.
    Remember: we cann't use StretchBlt anymore. choose BitBlt instead.


    Reply
  • 24bit RGB bitmap problem

    Posted by Legacy on 11/05/2002 12:00am

    Originally posted by: Igor Rosenberg

    Hi,
    your code work fine (thanks), but I have a problem with 24bit RGB bitmap. It's displyed, but the colors are wrong.
    Especialy, if I use a picture with lots of colors.
    Thanks for help.

    Reply
  • Changing Color of Common Dialog boxes

    Posted by Legacy on 01/22/2002 12:00am

    Originally posted by: Ravinder Bassi

    how to change color of open and save as dialog boxes

    Reply
  • Changing Color of Common Dialog boxes

    Posted by Legacy on 01/22/2002 12:00am

    Originally posted by: Ravinder Bassi

    how to change color of open and save as dialog boxes

    Reply
  • Terima kasih

    Posted by Legacy on 08/13/2001 12:00am

    Originally posted by: Acep Sumarna

    Saya hanya dapat mengucapkan terima banyak kasih kepada Anda yang telah memberikan sebuah pelajaran yang berharga ini. 
    
    Saya harap Anda senantiasa dapat membantu saya.

    ttd
    Acep Sumarna

    Reply
  • Could you include a demo project

    Posted by Legacy on 01/30/2001 12:00am

    Originally posted by: fgt cubed

    Could you include a demo project

    Reply
  • How to put the dialog in the center of the window?

    Posted by Legacy on 07/25/2000 12:00am

    Originally posted by: risingsun

    The dialog is not in the center, isn't it?

    Reply
  • The normal OpenFile Dialog is still appear.

    Posted by Legacy on 02/11/2000 12:00am

    Originally posted by: Virasak

    I did follow the step to add those file to my project. However, I saw only normal OpenFile Dialog appear whenever I clicked Open on toolbar. Is there any advice for me?

    Reply
  • Loading, Please Wait ...

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

Top White Papers and Webcasts

  • On-demand Event Event Date: September 10, 2014 Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild." This loop of continuous delivery and continuous feedback is how the best mobile …

  • As mobile devices have pushed their way into the enterprise, they have brought cloud apps along with them. This app explosion means account passwords are multiplying, which exposes corporate data and leads to help desk calls from frustrated users. This paper will discover how IT can improve user productivity, gain visibility and control over SaaS and mobile apps, and stop password sprawl. Download this white paper to learn: How you can leverage your existing AD to manage app access. Key capabilities to …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds