1。请问能不能截取FastReport打印预览时点击打印按纽后的消息
这个按钮不是平时我们常用的按钮,它直接是从TControl继承下来的,大侠帮忙
能不能告诉我点击后触发了什么消息,我尝试截获WM_COMMAND消息一般按钮会触发
但是直接从TControl继承下来的却没有触发?
2。能不能一个窗体内的控件触发的消息在本窗体内不处理也不截获,而在另外的窗体中截获
消息然后再处理?
急呀。。
这个按钮不是平时我们常用的按钮,它直接是从TControl继承下来的,大侠帮忙
能不能告诉我点击后触发了什么消息,我尝试截获WM_COMMAND消息一般按钮会触发
但是直接从TControl继承下来的却没有触发?
2。能不能一个窗体内的控件触发的消息在本窗体内不处理也不截获,而在另外的窗体中截获
消息然后再处理?
急呀。。
那它其实应该看作‘画’出来的按钮,你只能拦它所在winControl的WM_LBUTTONUP消息,
拦截时候,判断是否点在了按钮区域。
2,可以,但我不知道你想干什么。。
我如何能够获得该控件的句柄呀?
把边框去掉,由于预览窗体是被封装在FastReport中的FR_View中不方便该里面的代码
我想能不能当用户点击打印按钮时拦截WM_LBUTTONUP消息我不能在预览窗体中写拦截消息
代码所以我想知道怎么通过另外一个窗体来拦截这个消息把边框去掉?
这样不行我点击后不会执行。
procedure TForm1.WndProc(var Message: TMessage);
begin
if Message.Msg = WM_LBUTTONUP then
if PtInRect(Form2.SpeedButton1.ClientRect, SmallPointToPoint(TWMLBUTTONUP(Message).Pos)) then
Edit1.Text:='111111';
inherited;end;
var Handled: Boolean);
var
px,py:Integer;
x1,y1,x2,y2:integer;
begin
if Msg.message=WM_LBUTTONUP then
begin
if msg.hwnd=Form2.Handle then
begin
px:=LOWORD(msg.lparam);
py:=HIWORD(msg.lParam); with Form2.SpeedButton1 do
begin
x1:=left;y1:=top;
x2:=left+Width;y2:=top+height;
if (x1<px)and(x2>px) and (y1<py) and (y2>py) then//判断是否点在那个BUTTON上.
//呵呵,我写得笨些,不过意思差不多
begin
Handled:=true;
ShowMessage('FORM2 SPeedbutton1 click');
end
end; end end;
end;