ボタンクリックについて

解決


エア  2006-06-14 20:26:35  No: 62168

ダイアログ上にボタンを配置し、
ボタンをマウスでクリックすると、
マウスを離した時に処理を開始するのですが、
マウスを押したときに処理を開始とするにはどのような処理をすればよいのでしょうか?


Blue  2006-06-14 20:35:24  No: 62169

> マウスを離した時
> マウスを押したときに
とは?
マウスの左ボタンを押した瞬間と、離した瞬間でしょうか?
(WM_LBUTTONDOWN,WM_LBUTTONUP)

CButtonをサブクラス化するのかなぁ。


Blue  2006-06-14 20:36:39  No: 62170

あ〜すいません。MFC前提で解答してしまいました。

ということで、質問時には環境は必ず明記してください。

・OS
・VCのバージョン
・プロジェクトの種類


エア  2006-06-14 20:56:15  No: 62171

すいません。

マウスの左ボタンを押した瞬間です。

OS WindowsXP
VC++ 6.0
MFCです。


tetrapod  2006-06-14 20:57:03  No: 62172

この質問よく見るけどUI的には最悪なので要考察。
間違って押した!って場合に取り返しがつかない処理が即実行される
なんてことになりかねないので「離したとき」なのが幸せっぽい。


Blue  2006-06-14 21:00:58  No: 62173

先ほど解答しましたが、
> CButtonをサブクラス化
して、WM_LBUTTONDOWN,WM_LBUTTONUPをハンドルしてください。


瀬戸っぷ  2006-06-15 09:52:56  No: 62174

> 間違って押した!って場合に取り返しがつかない処理が即実行される
> なんてことになりかねないので「離したとき」なのが幸せっぽい。

マウスのボタンを押したまま、ドラッグ状態で移動させてから離せば実行はされない。
というヤツですね。
数回助けられたことがあります。

が、キーボード操作の場合、ボタンをスペースキーで押下させた場合と、Enterキーとで動作が違ったような。

# 質問に対する回答とは違いますが


エア  2006-06-17 01:51:46  No: 62175

無事解決しました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加