トップページ > プログラム > 2015年03月25日 > kbD8DHre

書き込み順位&時間帯一覧

8 位/143 ID中時間01234567891011121314151617181920212223Total
書き込み数0100000001000000000100003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
789
Win32API質問箱 Build11 [転載禁止]©2ch.net

書き込みレス一覧

Win32API質問箱 Build11 [転載禁止]©2ch.net
794 :デフォルトの名無しさん[sage]:2015/03/25(水) 01:35:33.35 ID:kbD8DHre
>>793

2013にすればコミニティエディションがあるのね。
余裕ができたらバージョンあげる。

>>792
趣旨としては、マウスとキーボードの両方の操作を受け付けるコントロールを作ってるんだけど、
キーボードの操作中に予想外のマウスイベントが飛んでくるのでどうしようっか というような
そういう感じで実験してました。
Win32API質問箱 Build11 [転載禁止]©2ch.net
796 :デフォルトの名無しさん[sage]:2015/03/25(水) 09:34:46.85 ID:kbD8DHre
>MOUSEMOVE処理する時ってどんな時よ?マウスのボタン押しながら移動が多いと思うんだけど?

メニュー。
具体的には orchis ってソフトみたいな動作をするウインドウを
組み立ててみたけど、マウスとキーボードの両方での操作を受け付けたら
想定外のマウスイベントが飛んでくるって現象。
Win32API質問箱 Build11 [転載禁止]©2ch.net
797 :789[sage]:2015/03/25(水) 19:26:21.64 ID:kbD8DHre
さらなる検証の結果、不意に飛んでくるMOUE_MOVEは常に座標が変化しないという結論になり、
初期化部分とウインドウリサイズのハンドラで変数に座標(-1,-1)を設定し、
WM_MOUSEMOVE側で常に比較しながら変数を上書きし、
差分がゼロの場合に無視するという処理で自己解決しますた。

MFCとかだとこういう感じ。

インスタンス変数を定義:
privete: CPoint lpos;

初期化:
OnInitialUpdate() { lpos = CPoint(-1, -1); }
OnResize() { lpos = CPoint(-1, -1); }


マウスイベント:
case WM_MOUSEMOVE:
{ int x = LOWORD(lp), y = HIWORD(lp);
CPoint xy = CPoint(x, y);
if (xy == lpos) return 0;
lpos = xy;
int ypos = y / fsize;
MoveMark(ypos);
}


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。