掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
親ウインドウにメッセージをおくるには (ID:61284)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
この前は問題をはっきりにしていなくて申し訳ないんですが… 実は… CEdit コントロールは テキストが変更されたら EN_CHANGEメッセージが自動的に送られて、 必要によって、親ウインドウにON_EN_CHANGEメッセージを捕まえて 処理することができます. 僕が今作ってるクラスは CListCtrlクラス から 派生して、 あるタイミングでCEditなどのコントロールのように、 親ウインドウにメッセージを送って、 親ウインドウがこのメッセージを捕まえて、 それに応じて処理することができるようにしたいんです。 以下は僕のコ−ドですが #define UM_MYMSGTOPARENT WM_USER+100 class CMyListCtrl:public CListCtrl { //......省略 CWnd* m_Parent; //親ウインドウ afx_msg void OnOneFunction(); }; void CMyListCtrl::OnOneFunction() { //ここのm_Parentウインドウが有効なウインドウです NMHDR nmhdr; nmhdr.hwndFrom = this->GetSafeHwnd(); nmhdr.idFrom = this->GetDlgCtrlID(); nmhdr.code = UM_MYMSGTOPARENT ; m_Parent->SendMessage(WM_NOTIFY,(WPARAM)GetDlgCtrlID(), (LPARAM)&nmhdr); } ///////////////////////////////////// そして親ウインドウで BOOL CParentWnd::OnNotify(WPARAM wParam,LPARAM lParam,LRESULT* lR) { if((UINT)wParam == IDC_MYLISTID) { // ここで処理 } } ちょっと自分で試したんだが こうしては大丈夫なのかな?もっといい方法があるのかな?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.