人気ブログランキング |
Delphi XE Pro - フォームのサイズを指定して変更する関数を書いてみた
最初のサイズ。
Delphi XE Pro - フォームのサイズを指定して変更する関数を書いてみた_b0003577_429454.jpg

800x600
Delphi XE Pro - フォームのサイズを指定して変更する関数を書いてみた_b0003577_431927.jpg

こんな感じでフォームのサイズを変更するコードを書いた。

procedure TForm1.N800x600Click(Sender: TObject);
begin
 Form1.Width := 800;
 Form1.Height := 600;
end;

procedure TForm1.N1024x768Click(Sender: TObject);
begin
 Form1.Width := 1024;
 Form1.Height := 768;
end;


procedure TForm1.N1200x800Click(Sender: TObject);
begin
 Form1.Width := 1200;
 Form1.Height := 800;
end;

しかしこれだと似た処理を増やした時にスマートじゃない気がするので いろいろ調べて関数にすることにした。





関数(function )として使うには、
pas ファイルの上部のtype部(呼称は正しいのかも知らない)に
  function WindowResize(x, y:integer): Integer;
と追加して
usesに処理を書く。
function TForm1.WindowResize(x, y:integer): Integer;
begin
 Form1.Width := x;
 Form1.Height := y;
end;

usesに処理を書く時に親のクラス(この場合は「TForm1.」)を書き忘れるとコンパイルエラーになるので注意。

で他のprocedure からは
procedure TForm1.N800x600bClick(Sender: TObject);
begin
 WindowResize(800,600);
end;

こんな感じで処理をさせることができる。

で上部のソースを書き直すと
procedure TForm1.N800x600Click(Sender: TObject);
begin
 WindowResize(800,600);
end;

procedure TForm1.N1024x768Click(Sender: TObject);
begin
 WindowResize(1024,768);
end;

procedure TForm1.N1200x800Click(Sender: TObject);
begin
 WindowResize(1200,800);
end;
になる。


しかし、type部と private部と、 public部の違いがわかっていないのは問題だよねぇ。
たぶんpublic はこのpasファイル以外からも使えるんじゃないかと思っているけど、
そうなると type と privateの違いがわからない。

by arigayas | 2011-04-15 04:58 | Delphi Programming | Trackback(1)
トラックバックURL : https://arigayas.exblog.jp/tb/15268605
トラックバックする(会員専用) [ヘルプ]
Tracked from arigayasのblog at 2011-04-15 05:07
タイトル : Delphi XE Pro - 関数にまとめたい
昨日、開発中のソフトにウィンドウサイズを変更するメニューを加えたのだが ソースは、愚直過ぎる感じがして 良い改良案はないか?と 2枚目のソース部分だけTwitterに貼付けて聞いたところ 3名の方から返答をいただいた。 ---------------------------------------------------------------------------@plus7 さんから 変形させるForm,変形後の幅,高さを格納するプロパティをもったTButtonの派生クラスを作...... more
<< 最近使っているFirefox ... 数年ぶりに自転車を購入した >>