|
分類:[C/C++]
Visual Studio 2010を使用し、コンソールアプリケーションの開発をしています。
タスクトレイにアイコンを表示して、 アイコン上で右クリックされたら、[終了]メニューを表示するようにしています。
しかし、クリックした位置の座標がうまく取れておらず、 アイコンの位置より左上(縦方向にはスクリーン上部、横方向には画面中央部分)にメニューが表示されてしまいます。
タスクトレイのアイコンクリック時のイベントは ウィンドウプロシージャのWM_CONTEXTMENUで拾うようにしています。 また、座標はlParamの上位16ビット、下位16ビットを使用しています。
// マウスカーソル座標取得 po.x = LOWORD(lParam); po.y = HIWORD(lParam);
取得できる座標をClientToScreenでスクリーン座標変換を試みましたが、アイコンの上にメニューが現れませんでした。
どこを見直したらよいか、ご教示いただきますようお願いいたします。
|