![]() |
|
|
|
|
#1
|
|||
|
|||
|
Всем доброго времени суток.........
Как отменить стандартное действие Системного меню (SC_RESTORE)? |
|
#2
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure WMSYSCOMMAND(var Message: TMessage); message WM_SYSCOMMAND;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.WMSYSCOMMAND(var Message: TMessage);
begin
if Message.WParam=SC_RESTORE then Message.Result:=0
else inherited;
end;
end. |
|
#3
|
|||
|
|||
|
а в таком синтаксисе возможно?
Код:
procedure wmsyscommand(var msg: twmsyscommand); message wm_syscommand; Код:
procedure TProgramForm.wmsyscommand(var msg: twmsyscommand);
var Sender:TObject;
Message: TMessage;
begin
if msg.cmdtype = SC_CLOSE then
bCloseClick(Sender)
else
inherited;
if msg.CmdType = SC_MAXIMIZE then
begin
ShowWindow(ProgramForm.Handle, SW_SHOWMAXIMIZED);
ProgramForm.Align := alClient;
Maximized := true;
imResize.Visible := false;
end;
if msg.cmdtype=SC_RESTORE then
begin
end;
end;сделал по вашему варианту но все ровно происходит SC_RESTORE Код:
procedure TProgramForm.wmsyscommand(var msg: TMessage);
var Sender:TObject;
begin
if msg.WParam = SC_CLOSE then
bCloseClick(Sender)
else
inherited;
if msg.WParam = SC_MAXIMIZE then
begin
ShowWindow(ProgramForm.Handle, SW_SHOWMAXIMIZED);
ProgramForm.Align := alClient;
Maximized := true;
imResize.Visible := false;
end;
if msg.WParam = SC_RESTORE then
msg.Result := 0
else inherited;
end;Последний раз редактировалось Claster, 06.07.2011 в 16:53. |
|
#4
|
|||
|
|||
|
Код:
procedure TProgramForm.wmsyscommand(var msg: TMessage);
var Sender:TObject;
begin
if msg.WParam = SC_CLOSE then
bCloseClick(Sender)
else
inherited;
if msg.WParam = SC_MAXIMIZE then
begin
ShowWindow(ProgramForm.Handle, SW_SHOWMAXIMIZED);
ProgramForm.Align := alClient;
Maximized := true;
imResize.Visible := false;
end;
if msg.WParam = SC_RESTORE then
beign
msg.Result := 0;
msg.WParam:= 0;
end;
inherited;
end; |
|
#5
|
||||
|
||||
|
Цитата:
Код:
if then begin end else if then begin end else if then begin end; |