Вниз
Скачать: CL | DM;

Онклик к кнопке   Найти похожие ветки 

 
jCode   (2003-12-18 18:43) [0]

В программе динамически создается кнопка, вписанная в ячейку таблицы. Вопрос - какой присвоить этой кноппке ОнКлик, чтобы было понятно из какой строки кнопка??
Спасибо.


 
Тимохов ©   (2003-12-18 18:48) [1]

Ну блин вопрос.
Присваивай какой хочешь.
В событии анализируй sender, т.е. кнопку, и из нее и получай координаты ячейки.


 
jCode   (2003-12-18 18:55) [2]

Тогда получается, что нужно при создании кнопки как-то ее сделать узнаваемой? Код вот:
var
Knopka:Tbutton;
begin

Knopka:=(Table.Objects[ACol,Arow] as TButton);
if Knopka<>nil then
begin
Knopka.Visible:=false;
Table.Objects[ACol,Arow]:=nil;
end;

Knopka:=Tbutton.Create(Application);

knopka.Visible:=false;
Knopka.Caption:=s;
Knopka.OnClick:=wd;
Knopka.Parent:=Starter;
Knopka.Tag:=1;
Table.Objects[ACol,ARow]:=Knopka;
Dr(ACol,Arow); //отрисовка кнопки
end;


Я начинающий, так что можно поподробнее.


 
Александр из Минска ©   (2003-12-18 19:05) [3]

В Королевстве Дельфи есть статья "Жинь и смерть в run-time" Вот там все и расписано.


 
Тимохов ©   (2003-12-18 19:17) [4]

jCode (18.12.03 18:55) [2]
Совершенно верно - при создании кнопку надо сделать узнаваемой.
Решений несколько
1. Сделать потомка - TYourButton с полями Col и Row. Заносить туда значения.
2. Использовать tag - там 4 байта, разберешься как туда засунуть то, что тебе нужно.
3. Можно еще как-то - например хранить нужную информацию в name, но это изврат.

ИМХО лучше всего 1.


 
jCode   (2003-12-18 22:40) [5]

Тимохов © (18.12.03 19:17) [4]
Спасибо, для меня приемлим второй - тег это номер строки, а по ней можно любое поле взять, а другого и не надо!
спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.017 c
1-11884
Leo^Sun
2003-12-09 16:16
2004.01.05
Основные методы сортировки данных


14-12090
Думкин
2003-12-15 06:47
2004.01.05
С днем рождения! 15 декабря.


1-11856
Maxim Vetera
2003-12-18 15:23
2004.01.05
Профилирование в


14-12068
Думкин
2003-12-10 06:26
2004.01.05
С днем рождения! 10 декабря.


1-11905
Alex-21
2003-12-21 21:39
2004.01.05
TimeToStr(Now)




   Наверх