自由に case WM_COMMAND switch(wPAram) { 下の各caseに選択的に飛べるようにしたい – プログラミング – Home

通知
すべてクリア

[解決済] 自由に case WM_COMMAND switch(wPAram) { 下の各caseに選択的に飛べるようにしたい


あきおくん
 あきおくん
(@あきおくん)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

今、
下記のようなプログラム構成になっている訳ですが、
LRESULT CALLBACK MainWndProc
自体は、頭で宣言されているだけで、
このソースの中では、どこからも呼ばれていません。
そういった中で、
   switch (wParama)
{
以下の各 case ____X :
のところを選択的に簡単に呼べるようにしたいのです。
キーは自由に使ってもいいのですが。
どうすればいいのでしょうか?

LRESULT CALLBACK MainWndProc (HWND hWnd, UINT message, WPARAM wParam,
LPARAM lParam);
{
switch (message) {
case WM_RBUTTONDOWN:

break;
case WM_COMMAND
switch (wParam) {
case ____A :

case ____B :

case ____C :

case ____D :

}

}

}


引用未解決
トピックタグ
...
 ...
(@...)
ゲスト
結合: 22年前
投稿: 113
 

WM_COMMANDの選択肢は色々あると思うのですが
MSDNを調べろと言う課題ではないでしょうか?


返信引用
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

>選択的に簡単に呼べる
の意味がわからない。

以下のようにサブルーチンに分ければ
OnB()の中からOnA()を呼び出すとかもできるけど。

switch (wParam) {
case ____A :
MainWnd_OnA(hWnd);
break;
case ____B :
MainWnd_OnB(hWnd);
break;
case ____C :
MainWnd_OnC(hWnd);
break;
case ____D :
MainWnd_OnD(hWnd);
break;
}


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

どんな目的での部分の説明がすっぽり抜けているので
何をしたくてこういう質問をしているのかの意図が分からないのです。

こう言う目的でこう言う事がしたいという書き方をすると
質問の意図が通じやすくなります。

あと、「使用上の注意」にも書いてありますが、
開発に使っているPCのOSとか、開発環境のバージョンだとか
予め書いておいた方がスムーズに話が進む内容も有りますので
「使用上の注意」をちゃんと読んでみる事をお勧めします。

まず、

> LRESULT CALLBACK MainWndProc
> 自体は、頭で宣言されているだけで、
> このソースの中では、どこからも呼ばれていません。

書いている時点で多分、Windowsでのイベントドリブンの仕組みが
理解できていないと思います。で、各caseが何を意味しているのかも
多分わかっていないのではないでしょうか?
「ウインドウプロシージャとは」でググって見てはどうでしょう。
もしくは「猫でもわかるプログラミング」のWindows SDK編を
最初から通して読むとか。

課題ならヒントだけもらって自分で調べた方がいいです。
その方が身につきますから。


返信引用
あきおくん
 あきおくん
(@あきおくん)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

みなさん。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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