[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 03/01 12:35 / Filesize : 186 KB / Number-of Response : 746
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

■MFC相談室 mfc19d.dll■



1 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:37:47 ]
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■MFC相談室 mfc18d.dll■
pc11.2ch.net/test/read.cgi/tech/1185917008/

686 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:46:39 ]
CWnd::DestroyWindow()のかわりにCWnd::PostMessage()を使ってみては?

687 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 01:26:55 ]
モードレスウィンドウのインスタンス生成やデータの持たせ方等で方法は
一つではないが、留意しなければいけないのは、モードレスウィンドウの
表示/非表示の繰り返しでメモリリークしないことと、「閉じる」操作など
で親ウィンドウが消滅した際に、モードレスウィンドウが開かれていれば
終了前に閉じれること。

ダイアログベースでメインウィンドウをモードレスに変更したのか、別に
モーダレスウィンドウを開くのか不明だが、後者と仮定しての一例...。

モードレスウィンドウ(Exp:CMyModalessDlg)を、ベースダイアログ(Exp:
CMyMainDlg)のメンバ変数(Exp:m_wndModalessDlg)にする。

App終了時にモーダレスを自動で閉じるため、CMyMainDlg::OnDestroy()に、

  if(m_wndModalessDlg.m_hWnd)
    m_wndModalessDlg.DestroyWindow();

を追加。 モーダレスの表示/非表示のハンドラは...

void CMyMainDlg::OnShowHideModaless() /* afx_msg */
{
  if(m_wndModalessDlg.m_hWnd==NULL)
    m_wndModalessDlg.Create(this);
  m_wndModalessDlg.ShowWindow(m_wndModalessDlg.IsWindowVisible() ? SW_HIDE:SW_SHOW);
}

モードレスウィンドウのインスタンスをnewで生成していないので、
CMyModalessDlg::PostNcDestroy()で「delete this」やっていたら
削除。 >>587- あたりも参照のこと。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<186KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef