diff --git a/vncviewer/FTBrowseDlg.cxx b/vncviewer/FTBrowseDlg.cxx
index ee09425..9c93032 100644
--- a/vncviewer/FTBrowseDlg.cxx
+++ b/vncviewer/FTBrowseDlg.cxx
@@ -28,12 +28,34 @@
 
 FTBrowseDlg::FTBrowseDlg(FTDialog *pFTDlg)
 {
-
+  m_pFTDlg = pFTDlg;
+  m_hwndDlg = NULL;
 }
 
 FTBrowseDlg::~FTBrowseDlg()
 {
+  destroy();
+}
 
+bool
+FTBrowseDlg::create()
+{
+  m_hwndDlg = CreateDialogParam(GetModuleHandle(0), MAKEINTRESOURCE(IDD_FTBROWSE), 
+                                m_pFTDlg->getWndHandle(), (DLGPROC) FTBrowseDlgProc, 
+                                (LONG) this);
+
+  if (m_hwndDlg == NULL) return false;
+
+  ShowWindow(m_hwndDlg, SW_SHOW);
+  UpdateWindow(m_hwndDlg);
+
+  return true;
+}
+
+void
+FTBrowseDlg::destroy()
+{
+  EndDialog(m_hwndDlg, 0);
 }
 
 BOOL CALLBACK 
diff --git a/vncviewer/FTBrowseDlg.h b/vncviewer/FTBrowseDlg.h
index 9972b4c..716efcb 100644
--- a/vncviewer/FTBrowseDlg.h
+++ b/vncviewer/FTBrowseDlg.h
@@ -41,6 +41,12 @@
 
       static BOOL CALLBACK FTBrowseDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 
+      bool create();
+      void destroy();
+
+    private:
+      HWND m_hwndDlg;
+      FTDialog *m_pFTDlg;
     };
   }
 }
