★『MFC』ですか?
・Win32 SDK ならば『CreateDialog』API関数でモードレス・ダイアログが作成できます。
HWND CreateDialog(
HINSTANCE hInstance,
LPCTSTR lpTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc
);
・というプロトタイプになります。
サンプル:
HINSTANCE hInstance = GetWindowLong(hWnd,GWL_HINSTANCE);
HWND hDlg;
hDlg = CreateDialog( hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, DialogProc ); ←作成
:
DestroyWindow( hDlg ); ←破棄
※『hWnd』が親ウインドウのハンドルです。
最後に:
・『DialogProc』がモードレス・ダイアログのプロシージャ関数です。
また『IDD_DIALOG1』がダイアログのリソース ID になります。
・さらに『モードレス・ダイアログ』の場合はメッセージ・ループで『IsDialogMessage』関数を
使ってメッセージが『モードレス・ダイアログ』の場合は『TranslateMessage』と『DispatchMessage』
の2つの関数を実行(処理)してはいけません。
・『モードレス・ダイアログ』の場合は、『モーダル・ダイアログ』と違って『DestroyWindow』関数で
終了時にウインドウを破棄する必要があります。
・以上。おわり。→Win32 SDK ですが下の『参考URL』をどうぞ。
補足
ありがとうございます。 DoModal()を何かに変えるだけではダメということですね・・・。