リソース含むクラスをDLL化してライブラリとして使う – プログラミング – Home

リソース含むクラスをDLL化してライブ...
 
通知
すべてクリア

[解決済] リソース含むクラスをDLL化してライブラリとして使う


ちあき
 ちあき
(@ちあき)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

毎度お世話になります。

環境:WinXP SP3 VS2005 C++ MFC SDI

リソース(主にDialog)を含むクラスを使い回したく DLL にして使用しているのです
が、関数の呼び出し元によって DLL のWindowの表示状態(?)が変わってしまいます。
DLL は CxxApp:: から AfxMessageBox() や CDialog::DoModal() するだけです。
DLL の関数を呼び出す SDI のアプリの呼び出し元が CxxView:: や CxxFrame:: から
の時は期待通り(アプリ側がdisable状態になる)の状態(状態A)になるのですが、
アプリの CDialog:: 上から呼び出すと、Windows(OS)画面のタスバーに呼び出し元
アプリとは別に最小化アイコン(?名称がわからないです)が出てしまい、Parent の
関係が無いような Window 表示(状態B)になってしまいます。
DLL 側でダイアログの実装時に SetParent 等をしてみましたが変化ありませんでした。
CxxApp::a()
{
CxxxDlg dlg;
dlg.SetParent(呼び出し元アプリのCWnd*);
dlg.DoModal();
}

状態Bを状態Aのようにしたいのですが、よろしくご教授お願いします。

分かり辛い文章になってしまいすいません。


引用未解決
トピックタグ
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
 

確かにちょっと分かりづらいです。
が、たぶん、言いたいことは分かった気がします(汗)

CxxxDlg dlg(呼び出し元アプリのCWnd*);
dlg.DoModal();

でどうでしょう。


返信引用
ちあき
 ちあき
(@ちあき)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

早速のご回答ありがとうございました。
サクッと解決してしまいました。
お手数おかけしました。
ありがとうございました。

今日1日悩んでおりました、頭を冷やして自己反省です・・。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました