TButton/ja
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
>> LCL Components/ja >> TButton
このページでは、TButton/ja コンポーネントの使い方を説明します。 以下の記述で「○○をクリック」とあればそれは左クリックのことです。右クリックの場合は、When I mention to click on something, unless I explicitly say to right-click, you always left-click on the item in question.
IDE上の表示
「Standard」タブの4番目のコントロールであり、「押しボタン」のアイコンで表示されています。
使い方
TButton/ja は Form/ja におけるもっとも基本的なコントロールです。 ボタンをマウスでクリックすることで(または[Tab]キーを押してボタンが選択された状態にして[Enter]キーで押すことで)、アクションが実行されます。 この「クリックすること」は「イベント」と呼ばれます。 このため、For this you need event handler/jaが必要になります。 that are called after the jump.
「ボタン」コントロールをフォームに追加するには、Standard/ja コンポーネントパレットの左から4番目の TButton ("OK" と書かれた四角形のボタン) を押して選択し、ボタンを配置したいフォームの上でクリックしてください。
マウスクリックに対するイベントハンドラは、フォーム上に置いたボタンをダブルクリックすることで簡単に作ることができます。 The event handler for a mouse click can be quite easily reached in which a double-click on the pasted Button (or in the Object Inspector, select the event OnClick of your Button). Form1フォーム上のButton1 のイベントハンドラは、以下のような記述になります。:
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
begin と end の間に、Button1 をクリックしたときの処理を書きましょう。
ほとんどすべての初心者用チュートリアルでは、Almost all available beginner tutorials use TButtons as an easy entry into the Object Oriented Programming/ja with Lazarus。. 以下に示すチュートリアルも、初心者にとってボタンの使い方が理解できるように作ったつもりです。Following tutorials are well suited for beginners to understand the use of buttons:
- The first GUI application/ja 全く完全な初心者のためのチュートリアルfor absolute beginners
- Your first Lazarus program tutorial for Lazarus の チュートリアル
- Programming Example Object Oriented Programming with Free Pascal and Lazarus による オブジェクト指向言語としてのチュートリアル
簡単な例
- Create a new application and drop a TButton on the form.
- Doubleclick this Button1 on the form (the default handler: OnClick is created for Button1, the source text editor opens).
- Add following code in the event handler:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Lazarus makes my day'); //A message will be displayed with the content...
end;
- Start your program (with Key <F9>).
ボタンの自動生成
Sometimes, instead of creating buttons (or other components) with the Lazarus form designer, it is easier to create them dynamically at run time. This approach is useful especially if you have continually repeated buttons on a form.
This can be achieved as in the the following example (a quick calculator):
- Create a new blank GUI application with the form Form1 and add StdCtrls to the uses clause (here the TButton is).
- Change caption Form1 to QuickAdd.
- Create the OnCreate event handler of Form1 (go in the Object Inspector to the event OnCreate and click the button [...]).
- Add following code:
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
aButton: TButton;
begin
for i:=0 to 9 do begin //create 10 Buttons
aButton:=TButton.Create(Self); //create Button, Owner is Form1, where the button is released later
aButton.Parent:=Self; //determine where it is to be displayed
aButton.Width:=aButton.Height; //Width should correspond to the height of the buttons
aButton.Left:=i*aButton.Width; //Distance from left
aButton.Caption:=IntToStr(i); //Captions of the buttons (0.9)
aButton.OnClick:=@aButtonClick; //the event handler for the button -> will be created yet
end;
Self.Height:=aButton.Height; //Height of the form should correspond to the height of the buttons
Self.Width:=aButton.Width*10; //Width of the form to match the width of all buttons
end;
- Now you must create the event handler for the button clicks.
- In the source editor, entering your class TForm1 in the section
private
. - Add
procedure aButtonClick(Sender: TObject);
and then press the keys [CTRL] + [Shift] + [c] (the code completion becomes active and creates the procedureTForm1.aButtonClick(Sender: TObject);
. - Paste following code:
procedure TForm1.aButtonClick(Sender: TObject);
const
Cnt: Integer = 0;
var
i: Integer;
begin
if (Sender is TButton) //called the event handler of a button out?
and TryStrToInt(TButton(Sender).Caption, i) then //then try to convert the label in a integer
begin
Cnt:=Cnt + i; //the adding counter is incremented by the number of entrechende
Caption:='QuickAdd: '+IntToStr(Cnt); //write the result to the caption of the form
end;
end;
- Start your application.
procedure <class>.<name of procedure>(Sender: TObject);
has. Thus, you can use one from another class!See also
Return To: LCL Components | — Previous: TPopupMenu | Next: TLabel |
--Michl 12:25, 15 May 2014 (CEST)