VCのDLL内で画面を表示させるには?


ひまわり  2002-10-21 15:49:31  No: 50488  IP: [192.*.*.*]

VCのDLL内から画面を表示する方法をご存知の方
教えてください。

編集 削除
YuO  2002-10-21 16:42:57  No: 50489  IP: [192.*.*.*]

「画面を表示」とはどういうことですか?
もっと具体的に書いてください。

編集 削除
ひまわり  2002-10-21 23:54:29  No: 50490  IP: [192.*.*.*]

MFC  AppWizard(dll)でDLLを作成し、その中でダイアログボックスを
表示させる時の、宣言方法を教えてください。

編集 削除
MADIA@仕事中  URL  2002-10-29 11:58:40  No: 50491  IP: [192.*.*.*]

こんにちわ。ひまわりさん。

DLL単体ではハンドルを持っていないため、ダイアログの表示は
出来なかったと思います。
方法としてはアプリからDLLの関数をCallするときに、
(DLL関数の)引数にアプリのハンドルをセットするようにします。
あとはそのハンドルを使ってダイアログを表示するようにすれば
いいと思います。

編集 削除
HyperBeat  URL  2002-11-15 05:20:44  No: 50492  IP: [192.*.*.*]

DllMain()の第一引数を使ってダイアログを作ることはできるのでは
つまりアプリからハンドル送らなくても行ける気が・・・

HANDLE _handle
BOOL DllMain(HANDLE handle....)
_handle=handle
...
hwnd=CreateDialog((HINSTANCE)_handle,(LPCSTR)DLG_M,NULL,(DLGPROC)Prco)


なんか見当違いのこといってたらすみませんです。

編集 削除
YuO  2002-11-15 08:08:21  No: 50493  IP: [192.*.*.*]

AfxGetInstanceHandleでDLLのインスタンスハンドルを取得して,
AfxSetResourceHandleで利用するリソースハンドルを指定します。
あとは普通にダイアログを使えばできる……はずです。

編集 削除
BitTip  2002-12-25 18:38:22  No: 50494  IP: [192.*.*.*]

DLLMainでDLLのインスタンスをグローバル変数にでも
格納すれば、簡単に出来ます。

編集 削除