パネル(Panel)の使い方
パネルはその上に子コントロールを置いて管理するために使用します。
パネルの外観を変更するには
BevelInnerやBevelOuterなどを変更することによってパネルの外観をいろいろ変更できます。
次にパネルを使ってボタンを作るサンプルを示します。パネルの文字列(Caption)は、微妙に動かせないのでLabelコントロールを貼り付けて動かしています。ボタン自体の動作は、BevelOuterプロパティを変更することにより動かします。普通のButtonコントロールは、ボタン自体の色を変えられないので、このようにPanelを使うと色つきのボタンが作れます。
unit ButtonTest; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Button1; type TForm1 = class(TForm) Panel1: TPanel; Label1: TLabel; procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Label1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Label1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel1.BevelOuter := bvLowered; Label1.Left := Label1.Left + 2; Label1.Top := Label1.Top + 2; end; procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel1.BevelOuter := bvRaised; Label1.Left := Label1.Left - 2; Label1.Top := Label1.Top - 2; Close end; procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel1.BevelOuter := bvLowered; Label1.Left := Label1.Left + 2; Label1.Top := Label1.Top + 2; end; procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel1.BevelOuter := bvRaised; Label1.Left := Label1.Left - 2; Label1.Top := Label1.Top - 2; Close end; end. |