MDIChild sempre maximizadas, como?
Tem como eu fazer isso? Pois quando tenho uma tela maximizada, e abro outra.. simplesmente as duas ficam em tamanho normal... e eu queria que ficassem sempre maximizadas...
Desde já agradeço
[]s
Desde já agradeço
[]s
Titanius
Curtidas 0
Respostas
Aasn
28/06/2006
Caro titanus,
Configurar a propriedade WindowState dos forms childs para wsMaximized deve resolver!
Agora, se vc não quiser permitir que elas sejam redimensionadas de maneira nenhuma, terá que controlar as mensagens de eventos dos forms.
[]´s
AASN
Configurar a propriedade WindowState dos forms childs para wsMaximized deve resolver!
Agora, se vc não quiser permitir que elas sejam redimensionadas de maneira nenhuma, terá que controlar as mensagens de eventos dos forms.
[]´s
AASN
GOSTEI 0
Titanius
28/06/2006
Olá AASN, já tinha tentado isso anteriormente e nada... o que estou fazendo é no OnActive:
mas to achando isso um ´tapa buraco´ e tem aquele efeito de maximizando que dá que fica muito ruim, quando se tem muitos forms abertos..
[]s
if WindowState <> wsMaximized then WindowState := wsMaximized;
mas to achando isso um ´tapa buraco´ e tem aquele efeito de maximizando que dá que fica muito ruim, quando se tem muitos forms abertos..
[]s
GOSTEI 0
Massuda
28/06/2006
Pelo que me lembro, esse comportamento é determinado pelo Windows. Acho que dá para você usar o evento OnShow ao invés do OnActivate.
GOSTEI 0
Titanius
28/06/2006
Olá massuda, realmente se for do windows complicou... :D
Mas eu tenho que usar no OnActive mesmo.. porque posso ter mais de 5 telas abertas... e ao dar o show funciona, mas depois ele ativa o OnActive, na hora que eu vejo a tela..
Obrigado,
[]s
Mas eu tenho que usar no OnActive mesmo.. porque posso ter mais de 5 telas abertas... e ao dar o show funciona, mas depois ele ativa o OnActive, na hora que eu vejo a tela..
Obrigado,
[]s
GOSTEI 0
Massuda
28/06/2006
Entendi... você quer que o MDI fique sempre maximizado.
Acho (não testei) que uma alternativa seria você não maximizar o form, mas sim definir o tamanho máximo/mínimo do form (via TForm.Constraints) como sendo o tamanho da área disponível no form principal; note que você precisa mudar o valor se o form principal for redimensionado. Para obter o tamanho da área cliente do form principal...
Acho (não testei) que uma alternativa seria você não maximizar o form, mas sim definir o tamanho máximo/mínimo do form (via TForm.Constraints) como sendo o tamanho da área disponível no form principal; note que você precisa mudar o valor se o form principal for redimensionado. Para obter o tamanho da área cliente do form principal...
var R: TRect; ... GetWindowsRect(SeuFormPrincipal.ClientHandle, R); // largura = R.Right - R.Left + 1 // altura = R.Bottom - R.Top + 1 // posição = R.Top, R.Left ...
GOSTEI 0
Titanius
28/06/2006
Olá massuda... tentei as deu acesso de violação de memória...
tentei:
no OnShow, OnCreate do Form... e o mesmo erro...
[]s
tentei:
var R: TRect; begin GetWindowRect(FrmPrincipal.ClientHandle, R); FrmRequisito.Width := R.Right - R.Left + 1; FrmRequisito.Height := R.Bottom - R.Top + 1;
no OnShow, OnCreate do Form... e o mesmo erro...
[]s
GOSTEI 0
Massuda
28/06/2006
Se você fez isso no form MDI filho, isto deveria funcionar...
var R: TRect; begin GetWindowRect(FrmPrincipal.ClientHandle, R); // poderia ser... // GetWindowRect(Application.MainForm.ClientHandle, R); Width := R.Right - R.Left + 1; Height := R.Bottom - R.Top + 1;
GOSTEI 0
Titanius
28/06/2006
Cara pode pareceer mentira, mas agora funcionou... sabe qual foi a difereça?
isso daqui:
var
R: TRect;
begin
GetWindowRect(FrmPrincipal.ClientHandle, R);
[b:7c9e9309d4]FrmRequisito.[/b:7c9e9309d4]Width := R.Right - R.Left + 1;
[b:7c9e9309d4]FrmRequisito.[/b:7c9e9309d4]Height := R.Bottom - R.Top + 1;
Estava tentando com o negrito, e nao funcionava... aí fiz tirando a parte do negrito, como vc me mostrou.. e funcionou.. estranho né!??
Muito obrigado massuda...
[]s
isso daqui:
var
R: TRect;
begin
GetWindowRect(FrmPrincipal.ClientHandle, R);
[b:7c9e9309d4]FrmRequisito.[/b:7c9e9309d4]Width := R.Right - R.Left + 1;
[b:7c9e9309d4]FrmRequisito.[/b:7c9e9309d4]Height := R.Bottom - R.Top + 1;
Estava tentando com o negrito, e nao funcionava... aí fiz tirando a parte do negrito, como vc me mostrou.. e funcionou.. estranho né!??
Muito obrigado massuda...
[]s
GOSTEI 0