按下按鈕1 對Edit1賦值1 Edit2以后怎么辦 怎么呼叫函式
uj5u.com熱心網友回復:
寫個通用函式,根據輸入引數,分別給不同的edit賦值fun(type: intger)
begin
if type = 1 then
edit1.text := '1';
if tyep = 2 then2
edit2.text := '2';
end
uj5u.com熱心網友回復:
利用控制元件的tag屬性和動態系結事件,可以寫的很通用。關鍵點:TEdit.tag 和 TButton.Tag設定成相同值,表示同一組。或者通過控制元件name取值,按某種規則也行。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Button2: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure OnSetValue(sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := OnSetValue;
Button2.OnClick := OnSetValue;
//如果有更多控制元件,繼續動態系結事件
end;
procedure TForm1.OnSetValue(sender: TObject);
var
i: integer;
begin
for i:=0 to ControlCount-1 do
begin
if (Controls[i] is TEdit) and TEdit(Controls[i]).Tag=TButton(sender).Tag then
begin
TEdit(Controls[i]).Text := TButton(sender).Caption+' clicked'; //edit賦值
end;
end;
end;
end.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/42814.html
標籤:語言基礎/算法/系統設計
