![]() |
|
|
#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; APPLICATION.TERMINATOR |
#5
|
||||
|
||||
![]() Цитата:
Код:
if then begin end else if then begin end else if then begin end; Пишу программы за еду. __________________ |