2011-06-27 10 views
5

Delphi 7でフォームの幅と高さを設定するにはどうすればよいですか?フォームには、さまざまな種類のコントロールが含まれています。メインフォームのサイズを127x263に設定する必要があります。ボタンクリックでプログラム的に変更する必要があります 。デルファイでフォームの幅と高さを設定する方法

+3

多くの人がdelphi-7タグをチェックしているわけではないので、一般的なdelphiタグを必ず含めてください。今回は追加しましたが、将来の質問ではこれを覚えておいてください。 –

+0

ok。私は将来、そうするでしょう。 –

答えて

13
ので、同様

:あなたはそれらの寸法にクライアント領域を設定したい

MainForm.Width := 127; 
MainForm.Height := 263; 

それとも:もちろん

MainForm.ClientWidth := 127; 
MainForm.ClientHeight := 263; 

、あなたが最も一般的に、設計時にオブジェクトインスペクタでこれらのプロパティを設定フォームの.dfmファイルに書き込まれます。あなたはMainFormオブジェクトインスタンスを指定する必要はありません。この最後の抜粋で

procedure TMainForm.Button1Click(Sender: TObject); 
begin 
    Width := 127; 
    Height := 263; 
end; 

を:あなたは、このような変更は、このようなボタンのクリックのためのハンドラを追加ボタンをクリックして発生する場合

イベントハンドラはTMainFormクラスのメンバであり、したがってSelfが暗黙的であるためです。

あなたは(コメントを参照してください)ウルリッヒ・ゲルハルトのアドバイスに従うとSetBoundsを使用したい場合は、あなたが書くでしょう:あなたのフォームがScaled = Trueを持っている場合

SetBounds(Left, Top, 127, 263); 

は最後に、あなたは、フォントのスケーリングに対処する必要があります。このようなハードコーディングされたピクセルディメンションは、フォントのスケーリングがマシンと異なる値に設定されているマシンには適しません。

+13

幅と高さを個別に変更する代わりに、SetBoundsを使用して更新を最小限に抑えます。 –