Цитата:
Сообщение от Pilot_Red
дк в событии Change в параметр Node передается выбраная пользователем ветка. А уже из Node.Data вытаскиваешь нужную строку запроса ...или как ты там делаешь.
|
Тут, как я понял, проблема не в определении момента смены выбранного узла дерева, а в том, как "положить" некоторые данные в узел, что бы потом их можно было считать и использовать.
У TTreeNode есть свойство Data. В принципе, оно имеет тип TObject, т.е. в него можно "положить" любой объект. Однако, еси у нас тип дпнных Integer, то можно воспользоваться следующим фокусом. Т.к. TObject это указатель, то по размеру он совместим с Integer (оба 32bit). Тогда можно "сказать", что мы кладем в это свойство объект, находящийся по адресу, указанному в Integer-переменной. Для чтения нужно сделать обратное преобразование.
Код:
var
Idx : Integer;
ANode : TTreeNode;
begin
// Запись:
Idx := 123;
ANode.Data := TObject(Idx);
// Чтение:
Idx := 0;
Idx := Integer(ANode.Data);
ShowMessage(IntTostr(Idx));