一个有关消息截获的问题......(100分)

  • 主题发起人 主题发起人 airlenllq
  • 开始时间 开始时间
A

airlenllq

Unregistered / Unconfirmed
GUEST, unregistred user!
如何截获在任务栏上的使窗口最小化的消息?请各位高手给于指点。。。。。。
 
我好像明白你的意思了,你大概是想拦截窗体最小化的消息,我估计窗体右上角的最小化按钮和左上角的
系统菜单中的最小化菜单,你都拦截成功了,现在就缺少任务栏上的最小化菜单了
可以这样,新建一个工程,在Form上放置一个TApplicationEvents控件,在Additional页上,下面是代码,
其中的不同就是作用的对象不一样

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
AppEvnts;

type
TForm1 = class(TForm)
ApplicationEvents1: TApplicationEvents;
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
private
{ Private declarations }
procedure wmsyscommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.wmsyscommand(var Msg: TWMSysCommand);
begin
if Msg.CmdType = SC_MINIMIZE then
ShowMessage('最小化');
inherited;
end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = WM_SYSCOMMAND then
begin
if Msg.wParam = SC_MINIMIZE then
begin
ShowMessage('最小化');
inherited;
end;
end;
end;

end.
 
to HD_Copy:
这位前辈,您全明白了我的意思,真是太棒了,多谢多谢!
因为小弟是昨天第一次来大富翁,前辈就帮了小弟的大忙,所以小弟就毫不思索
的为前辈打了100分以表小弟的感激之情和佩服之心。
 
后退
顶部