Using Common File Dialogs as Modeless Views

Environment: VC6 SP3, NT4 SP5, Windows 98, MSIE 5.0

This application was implemented for exercise purposes only. However I hope that ideas enclosed in it can be useful since it is sometimes required to get a Common Dialog modeless. Each Common File Dialog window has its style changed during creation and then lives in its own thread (CThreadRunningDlg class). The class for starting threads and wrapping of these dialog windows in the creation thread is CChildView. CdlgFileBrowse class is a descendant of standard MFC CFileDialog class running in its own thread. It implements actual initialization of parent Common File Dialog window. Common File Dialog window is sub-classed to maintain file list size fit under NT (CWndFileBrowse class). Of partial interest are also: splitter which allows maximally two panes opened and toggles windows tiling between horizontal and vertical (CTwixSplitter class) and edit bar derived from CControlBar class (CEditBar class).

Downloads

Download demo project - 9 Kb
Download source - 24 Kb


Comments

  • Venture News : chanel Thought as Absolutely Essential On the market now

    Posted by incockDak on 03/29/2013 08:03am

    gucci-hottie has tested out the most up-to-date method - - how you can make a lot of money from nothing [url=http://growth-management.alachua.fl.us/comprehensive_planning/gucci.html]グッチ 財布[/url] Interesting questions on gucci have been answered and the reasons you would need to check out every statement on this story. [url=http://growth-management.alachua.fl.us/comprehensive_planning/saclongchamp.php]Sac longchamps[/url] EllZitLixXmb [url=http://running-nike0.seesaa.net/]ナイキランニング[/url]QkeDkwDtlHss [[url=http://free-nike-nikeo.seesaa.net/]nike free[/url]TdgCqdXdfUqk [url=http://xn--nike-ul4c5c5fyqb.seesaa.net/]スニーカーナイキ[/url]IkmMqdGxaPch [url=http://nikejapan0.seesaa.net/]ナイキスニーカー[/url]KvsCndVrvEux [url=http://nikesneakersjp.seesaa.net/]nike スニーカー[/url]ArkCiyLheKde [url=http://nikegolf00.seesaa.net/]ナイキ[/url]VcnQgaRywTsd [url=http://nikeshoes00.seesaa.net/]nike シューズ[/url]EbsAruRajCdd [url=http://sneaker-adidas-jp.seesaa.net/]スニーカー アディダス[/url]VrtMmePtoVvm

    Reply
  • Just stop Protesting And Initiate a personal adidas shoes Distribution campaign Instead

    Posted by expopmerm on 03/18/2013 01:54am

    Concise statement reveal the unquestionable information about nike shoes and precisely how it can certainly threaten you.|Quick guideline teaches you some of the inner workings of the nike shoes in addition to those things that you must do immediately.}[url=http://www.nikejapan.asia/]シューズナイキ[/url] The Secret For nike shoes [url=http://www.adidasjapan.biz/]アディダス シューズ[/url] The thing you do not fully understand about adidas shoes could be costing much more than you might think. Update-- gucci bags Will certainly Have A Vital role In Virtually Any Management [url=http://www.guccijp.asia/]gucci バッグ[/url] Advanced chloe bags Ebook Clearly shows The Simplest Way To Rule The chloe World [url=http://www.chloejp.biz/]財布 chloe[/url] The ways to discover all the details there is to know about chanel in eight quick steps. [url=http://www.chaneljp.biz/]chanel バッグ[/url] The best ways to comprehend all the details there is to find out relating to chanel in seven easy ways.A Fella who just ended up selling his nike shoes report for a few million dollars [url=http://www.adidasjapan.asia/]アディダス スニーカー[/url] A significant double sprain on nike shoes [url=http://www.nikejp.biz/]nike ランニング[/url] nike shoes Reproductions : A Perfect adidas shoes 'cheat' Which experts state Fools 98% of the customers

    Reply
  • Added fix for improved draw performance

    Posted by Legacy on 10/24/2003 12:00am

    Originally posted by: Gareth

    What a great article! I have a small fix though...

    BOOL CDlgFileBrowse::OnInitDialog()
    {
    CWnd* pParent = GetParent();

    VERIFY(::SetWindowLong(*pParent, GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN));

    ...I've added the WS_CLIPCHILDREN. You'll notice this will fix any werid painting problems when passing other windows over the file dialog. Great article though...

    g :�)

    Reply
  • Nice. But is it possible to do it in a CPropertyPage instead?

    Posted by Legacy on 07/17/2003 12:00am

    Originally posted by: Tomas Rasmussen

    Very nice application. But I would like it to appear in a CPropertyPage instead. Anyone able to solve that one???

    Best regards

    Tomas Rasmussen

    Reply
  • Two panes

    Posted by Legacy on 05/12/2003 12:00am

    Originally posted by: Dragan M

    Select more than 15 files. Press Enter. File Open dlg is gone.

    Reply
  • Very cool--anyone know how to do this in .Net (C#)?

    Posted by Legacy on 07/09/2002 12:00am

    Originally posted by: Scott

    Very good job on this...do you know how to do the same thing in C#? I want to put a file open dialog on a tab page. Any ideas?
    Thanks for the great work!

    Reply
  • Not Bad

    Posted by Legacy on 06/14/2001 12:00am

    Originally posted by: Jim.Rong

    Not Bad!

    Reply
  • Neat, but could be better commented

    Posted by Legacy on 06/11/2001 12:00am

    Originally posted by: JohnE

    First impressions.... Nice little app with some useful concepts. Does what it says on the tin, but (and it's only a minor but)... would it have hurt to sprinkle a few more comments here & there?

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

Top White Papers and Webcasts

  • The latest release of SugarCRM's flagship product gives users new tools to build extraordinary customer relationships. Read an in-depth analysis of SugarCRM's enhanced ability to help companies execute their customer-facing initiatives from Ovum, a leading technology research firm.

  • With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with ease (both locally and remotely), and ultimately spend more time coding instead of waiting for the dreaded application redeploy to finish. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds