Topic: копка в гриде

не могу понять
TButton или TSpeedButton..
как правельно создать кнопку в ячейке грида

2 (edited by sibprogsistem 2018-12-17 10:45:13)

Re: копка в гриде

саму кнопку cоздал...

var
button:TButton;
begin
button:=TButton.Create(form1);
button.Parent:= Form1;
button.Caption:='...';
button.Height:=25;
button.Width:=25;
button.OnClick:=@buuut;
end;

теперь нужно поместить в грид

Re: копка в гриде

А зачем.

Dmitry.

Re: копка в гриде

будет кнопка отправки смс

Re: копка в гриде

vovka3003 wrote:
button.Parent:= Form1.TableGrid1

я не могу в ячейки поместить

Re: копка в гриде

пока только до такого додумался, чего то не хватает )

procedure Form1_TableGrid1_OnChange (Sender: TObject);
var
  i,c: integer;
  button:TButton;
 begin
   c := Form1.TableGrid1.RowCount - 1;
   button:=TButton.Create(form1);
   button.Caption:='...';
   button.Height:=25;
   button.Width:=25;
    for i := 0 to c do
       begin
        button.Parent:= Form1.TableGrid1.Cells[2,i];
     end;
end;

Re: копка в гриде

vovka3003 wrote:

Наверное проще (и правильнее) будет сделать отдельную кнопку рядом с таблицей и по ее нажатию  выдергивать значение из таблицы в качестве параметра для отправки смс (или чего там еще отправки...)

сейчас так и есть, но хотел, что бы в гриде была

Re: копка в гриде

sibprogsistem wrote:

пока только до такого додумался, чего то не хватает )

procedure Form1_TableGrid1_OnChange (Sender: TObject);
var
  i,c: integer;
  button:TButton;
 begin
   c := Form1.TableGrid1.RowCount - 1;
   button:=TButton.Create(form1);
   button.Caption:='...';
   button.Height:=25;
   button.Width:=25;
    for i := 0 to c do
       begin
        button.Parent:= Form1.TableGrid1.Cells[2,i];
     end;
end;

Ячейки в таблице не являются наследниками TControl и не могут быть Parent для кнопки.
Если уж так хочется видеть кнопки в ячейке, поместите туда картинку с изображением изображение кнопки, на форуме есть пример, как вставлять картинки в таблицу. Нажиматься такая кнопка, конечно, не будет, но клик по ячейке можете обрабатывать и выполнять нужное действие.


Но я поддерживаю vovka3003 - не нужно делать кнопки в гриде - эти паттерны в GUI возникли из-за скудных возможностей web-интерфейсов для работы с таблицами. Стандартное (а значит - интуитивно более понятное ) решение - это тулбар с кнопками над таблицей, который обрабатывает текущую (выделенную) запись.

Визуальное программирование: блог и телеграм-канал.