Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2019, 15:29   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Как вариант просто на панели вместо колонки грида
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure ButtonClick(Sender: TObject);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
    xButton: TButton;
begin
  for i:=1 to 10 do begin
    xButton:=TButton.Create(Self);
    xButton.Parent:=Panel1;
    xButton.Tag:=i;
    xButton.Height:=32;
    xButton.Caption:=Format('Кнопка%d',[i]);
    xButton.Align:=alTop;
    xButton.OnClick:=ButtonClick;
  end;
end;

procedure TForm1.ButtonClick(Sender: TObject);
begin
  ShowMessage(Format('Нажата %s',[TButton(Sender).Caption]));
end;

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
  for i:=0 to Panel1.ControlCount-1 do
    if (Panel1.Controls[i] is TButton) and (Panel1.Controls[i].Tag=6) then begin
      TButton(Panel1.Controls[i]).Visible:=not TButton(Panel1.Controls[i]).Visible;
      Break;
    end;
end;

end.
Вложения
Тип файла: zip Новая папка (26).zip (8.0 Кб, 3 просмотров)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.03.2019, 15:46   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Аватар, отличный пример!

Цитата:
Сообщение от Аватар Посмотреть сообщение
xButton.Align:=alTop;
да, точно! Тогда, при удалении кнопки, оставшиеся кнопки сами будут перестраиваться (подтягиваясь к верху формы).
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание програмно кнопки (Button) с кодом Chikoy Общие вопросы Delphi 5 18.12.2012 19:48
Как програмно снять выделение с кнопки misher Общие вопросы Delphi 8 26.02.2011 16:46
Нажатие кнопки в игре програмно? KoSMoS Общие вопросы Delphi 4 27.07.2009 19:39
как называются кнопки(програмно)? blackstersl Общие вопросы Delphi 5 03.05.2009 16:40
Как програмно создавать кнопки лэйблы и другие элементы Zaher Помощь студентам 2 13.05.2008 08:59