unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, QuickRpt, QRCtrls, ExtCtrls, Menus;
const
My_Msg_get = wm_user + 789;
type
TForm1 = class(TForm)
QuickRep1: TQuickRep;
TitleBand1: TQRBand;
QRLabel1: TQRLabel;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure ccc(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ddd(var Message: TMessage);
message My_Msg_get;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
screen.OnActiveFormChange := ccc;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
QuickRep1.Preview;
end;
procedure TForm1.ccc(Sender: TObject);
begin
//
if screen.ActiveForm <> nil then
if sametext('QRStandardPreview', screen.ActiveForm.Name) then
begin
postmessage(handle, My_Msg_get, 0, 0);
end;
end;
procedure TForm1.ddd(var Message: TMessage);
var
SysMenu: HMENU;
begin
screen.ActiveForm.BorderIcons := [biSystemMenu];
//方法 2
{ SysMenu := Windows.GetSystemMenu(screen.ActiveForm.Handle, False);
DeleteMenu(SysMenu, SC_TASKLIST, MF_BYCOMMAND);
DeleteMenu(SysMenu, 7, MF_BYPOSITION);
DeleteMenu(SysMenu, 5, MF_BYPOSITION);
DeleteMenu(SysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
DeleteMenu(SysMenu, SC_MINIMIZE, MF_BYCOMMAND);
DeleteMenu(SysMenu, SC_SIZE, MF_BYCOMMAND);
DeleteMenu(SysMenu, SC_RESTORE, MF_BYCOMMAND);
}
end;
procedure TForm1.Button2Click(Sender: TObject);
var
SysMenu: HMENU;
begin
SysMenu := Windows.GetSystemMenu(Handle, False);
DeleteMenu(SysMenu, SC_TASKLIST, MF_BYCOMMAND);
DeleteMenu(SysMenu, 7, MF_BYPOSITION);
DeleteMenu(SysMenu, 5, MF_BYPOSITION);
DeleteMenu(SysMenu, SC_MAXIMIZE, MF_BYCOMMAND);
DeleteMenu(SysMenu, SC_MINIMIZE, MF_BYCOMMAND);
DeleteMenu(SysMenu, SC_SIZE, MF_BYCOMMAND);
DeleteMenu(SysMenu, SC_RESTORE, MF_BYCOMMAND);
self.Refresh;
end;
end.