<font color=red>女程序员的忧伤</font>(50分)

  • 主题发起人 主题发起人 cat.yy
  • 开始时间 开始时间
C

cat.yy

Unregistered / Unconfirmed
GUEST, unregistred user!
; procedure WMMouse(var _Msg:TMessage); message WM_LBUTTONDOWN;

......

procedure TForm1.WMMouse(var _Msg:TMessage);
begin
inherited;
if Msg.Result = MK_LBUTTON then
Msg.Result := MK_RBUTTON;
end;
&lt;- 这样不行

procedure TForm1.WMMouse(var _Msg:TMessage);
begin
inherited;
SendMessage(handle, WM_RBUTTONDOWN, 0, 0);
end;
&lt;- 这样也不行

我想这样:
---------------------
鼠标左键按下 让系统误以为是右键按下 从而弹出右键菜单
 
把windows的消息处理机制好好看看吧!
 
为什么是女程序员的忧伤
 
在看呢! 但我想知道错哪了!
 
这种题目比较有蛊惑性。
 
靓妹,我帮你搞定。
相应消息 WM_LBUTTONUP;
procedure TForm1.mywmlbuttonup(var msg: TWMLBUTTONUP);
begin
inherited;
sendmessage(handle,WM_RBUTTONUP,MK_RBUTTON,msg.YPos shl 16 + msg.XPos);
end;
 
下次我提问的时候,标题用:谁来帮帮妹妹我?
 
procedure WMMouse(var _Msg:TMessage); message WM_LBUTTONDOWN;

有这种写法吗?

我是用如下的方法实现了你的要求:
procedure WMLButtonDown(var Msg:TWMLButtonDown);message WM_LBUTTONDOWN;

procedure TForm1.WMLButtonDown(var Msg: TWMLButtonDown);
begin
Sendmessage(handle, WM_RBUTTONDOWN, 0, 0); //这里不能用inherited,否则仍然会产生一个LButtonDown.
end;

//以下是测试按键的代码
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then showmessage('Left')
else if Button=mbRight then showmessage('Right');
end;
 
好象是inherited用的不对吧!?
 
你的题目很.......
 
好象根本没有WMMouse这个消息吧。
 
同意教父的说法
不过以后提问题不要这么吓人,我还以为……
 
应该搞定了吧?
 
谢谢大家,我自己基本解决了
也贴上,给后来者方便吧

PROCEDURE WMMOUSE_L(var _msg: TWMMouse); message WM_LBUTTONDOWN;
PROCEDURE WMMOUSE_R(var _msg: TWMMouse); message WM_RBUTTONDOWN;

//-----------------------------------------------------------------------------
procedure TForm1.WMMOUSE_L(var _msg: TWMMouse);
begin
inherited;
PostMessage(edit1.handle, WM_KeyDown, 66, 0);
SendMessage(handle, WM_RBUTTONDOWN, hInstance, 0);
end;

procedure TForm1.WMMOUSE_R(var _msg: TWMMouse);
begin
inherited;
PostMessage(edit1.handle, WM_KeyDown, 65, 0);
end;

============================================
声名:起这个题目只是希望尽快解决问题(DFW的GG很多嘛,我就不解释了)
 
拜托,俺进来不是想要分的!
 
后退
顶部