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).