Aumentar height e width do form
Moçada, parece ridículo, mas não consigo aumentar o height e o width do meu form. Qualquer form, até projetos novos.
O que pode estar acontecendo?
abraço,
Fabio.
O que pode estar acontecendo?
abraço,
Fabio.
Fabio_123123
Curtidas 0
Respostas
Sistemald
25/11/2008
Verifique as propriedades autosize esta como False, no mais não tem erro, coloque um botão e escreva o código abaixo:
teste em um novo projeto,e depois coloque no seu, se não funcionar, terá que verificar o que poderá estar atrapalhando, algum outro procedimento implementado no resize do form, por exemplo.
Form1.Height:= 100;
teste em um novo projeto,e depois coloque no seu, se não funcionar, terá que verificar o que poderá estar atrapalhando, algum outro procedimento implementado no resize do form, por exemplo.
GOSTEI 0
Fabio_123123
25/11/2008
Já concluí o problema. O Delphi 7 não deixa setar a dimensão do form maior que a resolução do monitor. Lamentável.
Obrigado pela ajuda.
Fabio.
Obrigado pela ajuda.
Fabio.
GOSTEI 0
Edsoncabral
25/11/2008
Use uma resolução de tela alta para desenvolver, a exemplo de 1024x768, mas lembre-se que a resolução pode ser um fator limitante no computador do seu cliente, pois existem pessoas que só trabalham, ou melhor trabalham, com 800x600. Os meus sistemas eu busco padronizar em 800x600, apesar de desenvolvê-los em resolução alta de tela.
Lembre-se também de usar a propriedade position=poScreenCenter para que o form não fique desfocado caso o seu cliente usa outra resolução.
Abraço.
Edson Cabral
Criterion Software
Lembre-se também de usar a propriedade position=poScreenCenter para que o form não fique desfocado caso o seu cliente usa outra resolução.
Abraço.
Edson Cabral
Criterion Software
GOSTEI 0
Fabio_123123
25/11/2008
Sim, entendo. O problema é que meu cliente usa 1440x990.
abraço,
Fabio.
abraço,
Fabio.
GOSTEI 0
Discorpio
25/11/2008
Bom dia a todos.
O Delphi permite você capturar o Width e o Height da tela através do Objeto Screen, com Screen.Width e Screen.Height, seja ela qual for a resolução, se voce está fazendo o seu projeto cuja a resolução máxima da sua placa de vídeo seja 1024 X 768, então infelizmente o Screen.Width e Height só alcançarão esta resolução.
A solução para o seu problema é uma função que eu desenvolvi para ajustar a minha aplicação na resolução que desenvolvi, caso o programa fosse instanciado em uma máquina com a resolução diferente da qual eu desenvolvi o projeto, eis a função
Quando voce quiser modificar a resolução no momento da instanciação de seu aplicação, é só invocar essa procedure no evento OnCreate do Form Principal, assim:
Quando você encerrar o programa e quiser voltar a configuração original é só codificar assim no Evento OnClose:
Repare que eu utilizei duas variáveis privadas (OldWidth e OldHeight para captuar as dimensões do Screen de tela, antes de configurar a nova resolução, para que pudessemos retorná-la no momento do encerramento do programa.
Espero que isso te ajude.
O Delphi permite você capturar o Width e o Height da tela através do Objeto Screen, com Screen.Width e Screen.Height, seja ela qual for a resolução, se voce está fazendo o seu projeto cuja a resolução máxima da sua placa de vídeo seja 1024 X 768, então infelizmente o Screen.Width e Height só alcançarão esta resolução.
A solução para o seu problema é uma função que eu desenvolvi para ajustar a minha aplicação na resolução que desenvolvi, caso o programa fosse instanciado em uma máquina com a resolução diferente da qual eu desenvolvi o projeto, eis a função
type
TfrmPrincipal = class(TForm)
.....
.....
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
....
OldWidth, OldHeight: Integer;
procedure SetScreenResolution(AWidth, AHeigth: Integer);
....
public
{ Public declarations }
.....
.....
end;
var
frmPrincipal: TfrmPrincipal;
implementation
uses DM;
{$R *.dfm}
procedure TfrmPrincipal.SetScreenResolution(AWidth, AHeigth: Integer);
var
DevMode: TDeviceMode;
Hnd: THandle;
begin
Hnd := GetDC(Handle);
EnumDisplaySettings(nil, 0, DevMode);
with DevMode do begin
dmPelsWidth := AWidth;
dmPelsHeight := AHeigth;
dmBitsPerPel := GetDeviceCaps(Hnd, BITSPIXEL);
dmDisplayFrequency := 60;
end;
ChangeDisplaySettings(DevMode, 0);
end;
Quando voce quiser modificar a resolução no momento da instanciação de seu aplicação, é só invocar essa procedure no evento OnCreate do Form Principal, assim:
procedure TfrmPrincipal.FormCreate(Sender: TObject); begin if (Screen.Width <> 1440) and (Screen.Height <> 990) then begin OldWidth := Screen.Width; OldHeight := Screen.Height; Mens := ´Este programa foi construído numa resolução de vídeo´ + #13; Mens := Mens + ´de 1440 X 990 Pixels e irá configurar a tela do seu monitor´ + 13; Mens := Mens + ´para esta resolução. Ao final do programa,´ + 13; Mens := Mens + ´a resolução atual retornará instantaneamente´; MessageBox(Self.Handle, PChar(Mens),´Ajuste de Vídeo´,MB_OK+MB_ICONWARNING); SetScreenResolution(1440, 990); end; end;
Quando você encerrar o programa e quiser voltar a configuração original é só codificar assim no Evento OnClose:
procedure TfrmPrincipal.FormClose(Sender: TObject; var Action: TCloseAction); begin if (Screen.Width <> OldWidth) and (Screen.Height <> OldHeight) then SetScreenResolution(OldWidth, OldHeight); Application.Terminate; end;
Repare que eu utilizei duas variáveis privadas (OldWidth e OldHeight para captuar as dimensões do Screen de tela, antes de configurar a nova resolução, para que pudessemos retorná-la no momento do encerramento do programa.
Espero que isso te ajude.
GOSTEI 0