C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: MouseDownイベントについて


(過去ログ 57 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■32205 / inTopicNo.1)  MouseDownイベントについて
  
□投稿者/ ラン (8回)-(2009/02/03(Tue) 13:55:39)

分類:[C/C++] 

--開発環境--
WindowsXP
VisualC++ 2003

-------------------------------------------------
ランと申します。

今、画像をボタンのように扱う機能を実装しています。
WM_CREATEでCreateWindowのsaticを使って画像を貼り付け、WM_COMMANDでイベントを記述しています。
このままでも本質の機能は叶っているのですが、マウスを押しても画像が何も反応しないのはつまらないです。
なのでボタンを押したタイミングで画像を入れ替えて、ボタンを離したら画像を戻す処理を入れようと思っています。
そこでみなさまに質問なのですが、VBのようなMouseDown・MouseUpイベントを拾ったりできないでしょうか?

どなたかご指導よろしくお願いします。
引用返信 編集キー/
■32207 / inTopicNo.2)  Re[1]: MouseDownイベントについて
□投稿者/ .SHO (641回)-(2009/02/03(Tue) 14:05:12)
No32205 (ラン さん) に返信

WM_MOUSEDOWN と WM_MOUSEUP があります。
引用返信 編集キー/
■32208 / inTopicNo.3)  Re[2]: MouseDownイベントについて
□投稿者/ ラン (9回)-(2009/02/03(Tue) 14:24:52)
No32207 (.SHO さん) に返信

お返事ありがとうございます!

> WM_MOUSEDOWN と WM_MOUSEUP があります。

WnProcに記述してみると「定義されていない識別子です」というエラーになってしまいます(><)
もしかして何かインクルードが必要なのでしょうか?
ネットでググってみても「WM_MOUSEDOWN」の情報があまりなくて・・・
引用返信 編集キー/
■32209 / inTopicNo.4)  Re[3]: MouseDownイベントについて
□投稿者/ .SHO (642回)-(2009/02/03(Tue) 14:32:19)
No32208 (ラン さん) に返信

> WnProcに記述してみると「定義されていない識別子です」というエラーになってしまいます(><)

あーごめんなさい。
じゃぁ、WM_LBUTTONDOWN と WM_LBUTTONUP でどうでしょう?

引用返信 編集キー/
■32210 / inTopicNo.5)  Re[3]: MouseDownイベントについて
□投稿者/ επιστημη (1646回)-(2009/02/03(Tue) 14:36:00)
επιστημη さんの Web サイト
>>WM_MOUSEDOWN と WM_MOUSEUP があります。
>
> WnProcに記述してみると「定義されていない識別子です」というエラーになってしまいます(><)

WM_LBUTTONDOWN/WM_LBUTTONUP のことかね?
# 同様に右ボタン用 WM_RBUTTONDOWN/WM_RBUTTONUP があるます。

引用返信 編集キー/
■32213 / inTopicNo.6)  Re[4]: MouseDownイベントについて
□投稿者/ ラン (10回)-(2009/02/03(Tue) 15:44:34)
No32209 (.SHO さん) と
No32210 (επιστημη さん) に返信

ご指導いただきましてありがとうございます。

おかげさまでWM_LBUTTONDOWNでイベントを取得することができました。
でもボタンにしたいと思っている画像の上で左クリックしても反応してくれません・・・
何がいけないのでしょうか?

こんなコードです↓↓↓
WM_LBUTTONDOWN:
MessageBox(NULL,"へこみ中",NULL,NULL);
break;

引用返信 編集キー/
■32215 / inTopicNo.7)  Re[4]: MouseDownイベントについて
□投稿者/ .SHO (643回)-(2009/02/03(Tue) 15:49:04)
No32209 (.SHO さん) に返信

staticウィンドウのウィンドウプロシージャをフックしないとダメかも知れないですね。

引用返信 編集キー/
■32223 / inTopicNo.8)  Re[1]: MouseDownイベントについて
□投稿者/ 渋木宏明(ひどり) (1056回)-(2009/02/03(Tue) 17:07:09)
渋木宏明(ひどり) さんの Web サイト
> 今、画像をボタンのように扱う機能を実装しています。
> WM_CREATEでCreateWindowのsaticを使って画像を貼り付け、WM_COMMANDでイベントを記述しています。

ボタンをオーナードローした方が、話が早くないですか?

引用返信 編集キー/
■32224 / inTopicNo.9)  Re[2]: MouseDownイベントについて
□投稿者/ επιστημη (1647回)-(2009/02/03(Tue) 17:08:13)
επιστημη さんの Web サイト
> ボタンをオーナードローした方が、話が早くないですか?

全力で同意。

引用返信 編集キー/
■32245 / inTopicNo.10)  Re[3]: MouseDownイベントについて
□投稿者/ .SHO (648回)-(2009/02/03(Tue) 21:27:07)
もしくは、static ウィンドウ作らないで、メインウィンドウに直接描画しちゃうとか…

static ウィンドウをフックした方が、ボタンを押された座標を判断しなくていい分
楽そうだけど、どっちもどっちかな?

引用返信 編集キー/
■32271 / inTopicNo.11)  Re[1]: MouseDownイベントについて
□投稿者/ とっちゃん (371回)-(2009/02/04(Wed) 11:53:51)
とっちゃん さんの Web サイト
No32205 (ラン さん) に返信
> 今、画像をボタンのように扱う機能を実装しています。
> WM_CREATEでCreateWindowのsaticを使って画像を貼り付け、WM_COMMANDでイベントを記述しています。
> このままでも本質の機能は叶っているのですが、マウスを押しても画像が何も反応しないのはつまらないです。
> なのでボタンを押したタイミングで画像を入れ替えて、ボタンを離したら画像を戻す処理を入れようと思っています。
> そこでみなさまに質問なのですが、VBのようなMouseDown・MouseUpイベントを拾ったりできないでしょうか?
>
ここまでやるなら、static コントロールをカスタマイズるよりは、buttonコントロールでオーナードローしたほうが圧倒的に楽です。
ただし、あくまでも表示している画像を自分で任意のHDCに対して任意の座標上に自由に描画できる状況であるという場合ですが。
現状どのように描画させているのかわかりませんが、もし、スタティックコントロールのビットマップ表示機能を利用しているのなら
それを自分で賄えるようにしないと、ボタンのオーナードローは無理です。

なんとなく、VB->Native C(C++?)に来ている気がしますが...
ピクチャーコントロールは、Native C の世界から見ると次元の異なるレベルで超高度な実装がなされている
と書いておきます。

Native C/C++ の世界にあの手軽さで実現できる同じようなものは存在しませんよ。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -