![]() |
![]() ![]() ![]() ![]() |
|
Создать массив кнопок во время выполненияDelphi , Компоненты и Классы , RTTIСоздать массив кнопок во время выполнения
Оформил: DeeCo
private
{...}
procedure RunTimeButtonClick(Sender: TObject);
end;
{...}
var
Form1: TForm;
{Declare an Array of TButtons}
RunTimeButtons: array[1..10] of TButton;
{...}
implementation
{...}
procedure TForm1.RunTimeButtonClick(Sender: TObject);
begin
{Show the Button Nummer that was clicked}
ShowMessage('Button' + IntToStr((Sender as TButton).Tag) + ' clicked!');
end;
procedure TForm1.Button13Click(Sender: TObject);
var
i: Byte;
begin
for i := 1 to 10 do
begin
{Create the buttons}
RunTimeButtons[i] := TButton.Create(Self);
with RunTimeButtons[i] do
begin
Parent := Form1;
Caption := 'Button ' + IntToStr(i);
Top := i * Height;
Tag := i;
{Assign a OnClick handler}
OnClick := RunTimeButtonClick;
Visible := True;
end;
end;
end;
Программный код на Delphi создает массив TButton-компонентов в runtime. Вот подробное описание того, что код делает:
Результатом является создание 10 кнопок в runtime с различными заголовками и позициями, каждая из которых имеет обработчик события, который будет вызван при клике по кнопке. Когда кнопка кликается, процедура Альтернативное решение: Вместо создания кнопок в runtime и присваивания их массиву, можно создавать их динамически с помощью цикла и хранить в списке или коллекции. Этоapproach будет упрощать управление кнопками и их свойствами. Например: В этом примере мы создаем список, называемый В статье описывается создание массива кнопок в динамическом режиме с помощью языка программирования Delphi, где каждая кнопка имеет уникальный номер и на клик можно отображать информацию о номере нажатой кнопки. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||