Fórum Ajuda, Controle de Form.... #261362
10/12/2004
0
Ao mandar um Form Minimizar, eu preciso passar a propriedade FormStyle de fsMDIChild, para fsStayOnTop, e hora que eu mandar restaurar o tamanho, ele deve passar a propriedade de fsStayOnTop para
fsMDIChild novamente. Alguem sabe como posso fazer isso?!
Atenciosamente
Luiz Claudio V. Santos
Luiz.claudio.vieira
Curtir tópico
+ 0Posts
10/12/2004
Jc_analista
var
h:hwnd;
begin
if (Msg.CmdType = SC_MINIMIZE) then
form1.formstyle=fsstayontop;
if (Msg.CmdType = SC_MAMIXIZE) then
form1.formstyle=fsMDIchild;
DefaultHandler(Msg);
end;
Gostei + 0
13/12/2004
Luiz.claudio.vieira
Gostei + 0
13/12/2004
Luiz.claudio.vieira
Um abraço e me desculpe a ignorância mais 1 vez...
Gostei + 0
20/12/2004
Jc_analista
Gostei + 0
20/12/2004
Luiz.claudio.vieira
´undeclared indetifier: WMSysCommand´? como resolvo isso?!
Atenciosamente
Luiz Claudio V. Santos
Gostei + 0
20/12/2004
Martins
Veja
procedure TFrmmenu.WMSysCommand(var Msg: TWMSysCommand); var h:hwnd; begin if (Msg.CmdType = SC_MINIMIZE) then form1.formstyle=fsstayontop; if (Msg.CmdType = SC_MAMIXIZE) then form1.formstyle=fsMDIchild; DefaultHandler(Msg); end;
Esta é uma procedure [b:93974c331f]WMSysCommand(var Msg: TWMSysCommand);[/b:93974c331f]
então se vc fizer assim:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFrmmenu = class(TForm)
private
{ Private declarations }
procedure WMSysCommand(var Message : TWMSysCommand) ;
public
{ Public declarations }
end;
var
Frmmenu: TFrmmenu;
implementation
{$R *.dfm}
procedure TFrmmenu.WMSysCommand(var Msg: TWMSysCommand);
var
h:hwnd;
begin
if (Msg.CmdType = SC_MINIMIZE) then
frmmenu.formstyle=fsstayontop;
if (Msg.CmdType = SC_MAMIXIZE) then
frmmenu.formstyle=fsMDIchild;
DefaultHandler(Msg);
end;
end.
Espero q funcione agora!
Gostei + 0
20/12/2004
Luiz.claudio.vieira
Declaration of ´WMSysCommand´ differs from previous declaration
Desculpa se o erro e coisa banal, e pq eu ainda estou meio verde em procedures...
Gostei + 0
20/12/2004
Massuda
type TFrmmenu = class(TForm) private procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND; // ...
Gostei + 0
20/12/2004
Massuda
Isso está acontecendo porque na interface o argumento está como ´Message´
procedure WMSysCommand(var Message : TWMSysCommand) ;
procedure TFrmmenu.WMSysCommand(var Msg: TWMSysCommand);
Deixe os dois iguais (sugestão: use ´Msg´) que resolve.
Gostei + 0
21/12/2004
Luiz.claudio.vieira
Gostei + 0
21/12/2004
Luiz.claudio.vieira
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)