右クリックでダブルクリック処理をする方法 – プログラミング – Home

右クリックでダブルクリック処理をする方...
 
通知
すべてクリア

[解決済] 右クリックでダブルクリック処理をする方法


ペンぐ~
 ペンぐ~
(@ペンぐ~)
ゲスト
結合: 24年前
投稿: 2
Topic starter  

お聞きしたいことは、WM_LBUTTONDBLCLKのSendMessageの仕方です。
マウスの右をクリックしたときに、そのエディタのマウスのある位置を
ダブルクリックにしたいのですが、なぜか、エディタの一番左上(0,0)の位置を
ダブルクリックしてしまいます。
ペンぐ~です。はじめまして。
ちなみに、SendMessage する前の MousePos変数(マウスの座標)はちゃんとした値が入っていました。
どうすれば良いのか教えてください。
MFC&SDK両方使用しています。

<WM_RBUTTONDOWNをフックしたときのソース>

POINT MousePos; //マウス座標用

EditHwnd = GetActiveWindow();
hWnd = GetFocus();

if( GetCursorPos( &MousePos ) ) //マウスのスクリーン座標取得
{
  if( ScreenToClient( EditHwnd, &MousePos ) ) //マウスのクライアント座標取得
  {
    //ダブルクリックメッセージを送る
    SendMessage( hWnd, WM_LBUTTONDBLCLK, 0, (LPARAM)&MousePos );
  }


引用未解決
トピックタグ
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

> SendMessage( hWnd, WM_LBUTTONDBLCLK, 0, (LPARAM)&MousePos );

MSDN をよく読んでください。
lParam に渡すのは POINT へのポインタではありません。
下位ワードにx座標、上位ワードにy座標を入れて渡します。


返信引用
anon
 anon
(@anon)
ゲスト
結合: 24年前
投稿: 7
 

その前にマルチポストするなよ。
本気で失礼じゃないか?


返信引用
ペンぐ~
 ペンぐ~
(@ペンぐ~)
ゲスト
結合: 24年前
投稿: 2
Topic starter  

kazumaさん、レスありがとうございます。
無事解決しました。
anonさん、そのことは本当にすみません。
どうしても、急いで複数の方法を調査して、報告しなければいけなかったために
2箇所にポストしてしまいました。
今後は気をつけます。
ご助言ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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