掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
自作の他のアプリの操作 (ID:60221)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Listener フォームにエディットボックスをひとつ(m_edit1)貼り付けます。 頂いたサンプルではスタティックテキストでしたが、ここは置換えました。 MainFrmからViewに値を送るのに、本来、ドキュメントクラス経由とすべきですが、 コードの短縮のため、直で送っています。 このサンプルを参考になさる方は、上段のεπιστημηさんの ドキュメントクラスに関するご示唆を確認してください。 ●MainFrm.cpp (省略) #ifdef _DEBUG #define new DEBUG_NEW #endif const UINT msg = ::RegisterWindowMessage("INTERNALUSE");//---------------追加 (省略) BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CREATE() ON_REGISTERED_MESSAGE(msg, OnRegisteredMessage)//--------------------追加 END_MESSAGE_MAP() (省略) // CMainFrame メッセージ ハンドラ void CMainFrame::ActivateFrame(int nCmdShow)//プロパティのオーバーライドでハンドルします { ::SendMessage(HWND_BROADCAST, msg, 0, (LPARAM)GetSafeHwnd()); CFrameWnd::ActivateFrame(nCmdShow); } LRESULT CMainFrame::OnRegisteredMessage( WPARAM wparam, LPARAM lparam) {//手書きです switch ( wparam ) { case 0 : count = 0; break; case 1 : ++count ; break; case 2 : --count ; break; } CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd(); CListenerView* pView = (CListenerView*)pFrame->GetActiveView(); pView->m_edit1=count; pView->UpdateData(FALSE); return 0; } ●MainFrm.h (省略) // 属性 public: int count;//------------------------------------------------------------------追加 (省略) // 生成された、メッセージ割り当て関数 protected: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg LRESULT OnRegisteredMessage( WPARAM, LPARAM );//----------------------追加 DECLARE_MESSAGE_MAP() public: virtual void ActivateFrame(int nCmdShow = -1); };
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.