MFCでのユーザ定義メッセージ処理を追加するには? – プログラミング – Home

MFCでのユーザ定義メッセージ処理を追...
 
通知
すべてクリア

MFCでのユーザ定義メッセージ処理を追加するには?


Udon_de_SKY
 Udon_de_SKY
(@Udon_de_SKY)
ゲスト
結合: 25年前
投稿: 2
Topic starter  

はじめまして、
VC++6.0を使ってMFCベースのシリアル通信アプリケーションを作っている初心者です。
 以下の手順の受信処理を考えており
1)シリアルポートからのキャラクタ単位の受信情報をワーカスレッド内で受信
2)改行コードを検出した際、この受信行のキャラクタ文字列を取り込む
3)ワーカスレッド内で、PostMessage関数を用いて、ユーザ定義の関数の起動を指示
4)ユーザ定義の関数内で、受信行の内容を解析し、これに応じた処理(表示等)を行う。
1)、2)までは来たのですが

PostMessage関数の使い方と、ユーザによるハンドラ関数の定義のための手順が良く分からず、
3)の段階が実現できません。

 この辺りをご教授頂ければ、幸いです。


引用解決済
トピックタグ
ららら
(@admin-rarara)
メンバー Admin
結合: 5年前
投稿: 119
 

らららです。

自分でとりあえず、以下のように適当なメッセージを定義します。
#define WM_MYMESSAGE WM_USER+100

//メッセージを受け取るクラスで以下のメソッドを定義
afx_msg LRESULT OnMyMessage(UINT wParam,LONG lParam);

//メッセージマップに以下を追加。
BEGIN_MESSAGE_MAP(CxxxView, CFormView)
ON_MESSAGE(WM_MYMESSAGE,CxxxView::OnMyMessage ) // 追加
END_MESSAGE_MAP()

// メソッドの内容を記述
LRESULT CxxxView::OnMyMessage(WPARAM wParam, LPARAM lParam )
{
// ここにメッセージを受け取ったときの処理を記述
}
これでどうでしょう。


返信引用
Udon_de_SKY
 Udon_de_SKY
(@Udon_de_SKY)
ゲスト
結合: 25年前
投稿: 2
Topic starter  

らららさん、ありがとうございます。

ご指導の方法で、WM_MYMESSAGEによるユーザ定義メッセージの追加
及び対応メソッドのコールが可能になりました。

で追加で確認(質問?)なのですが

#define WM_MYMESSAGE WM_USER+100
の形でユーザメッセージを定義する際、WM_USER+100という値を割り当て
ていますが、この値に関しては何か制限があるのでしょうか?

さらに、ユーザ定義メッセージを追加したい場合、WM_USER+101,WM_USER+102・・
といった形で追加していってよいのしょうか?
値に限界があるのであれば、どの位なのでしょうか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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