Вверх ↑
Разработчик
Ответов: 26068
Рейтинг: 2121
#1: 2008-03-22 03:59:39 ЛС | профиль | цитата
Galkov, ну, например вот здесь, в этой связке



//[function TControl.TVGetItemImage]
function TControl.TVGetItemImage(Item: THandle; const Index: Integer): Integer;
var TVI: TTVItem;
begin
TVI.mask := TVIF_HANDLE or Loword( Index );
TVI.hItem := Item;
if Hiword( Index ) <> 0 then
begin
TVI.mask := TVIF_STATE or TVIF_HANDLE;
TVI.stateMask := Loword( Index );
end;
Result := -1;
if Perform( TVM_GETITEM, 0, Integer( @TVI ) ) <> 0 then
begin
if Hiword( Index ) <> 0 then
Result := (TVI.state shr Hiword( Index )) and $F
else
if Loword( Index ) = TVIF_IMAGE then
Result := TVI.iImage
else
Result := TVI.iSelectedImage;
end;
end;

//[procedure TControl.TVSetItemImage]
procedure TControl.TVSetItemImage(Item: THandle; const Index: Integer;
const Value: Integer);
var TVI: TTVItem;
begin
TVI.mask := TVIF_HANDLE or Loword( Index );
TVI.hItem := Item;
TVI.iImage := Value;
TVI.iSelectedImage := Value;
if Hiword( Index ) <> 0 then
begin
TVI.mask := TVIF_STATE or TVIF_HANDLE;
TVI.stateMask := Loword( Index );
TVI.state := Value shl Hiword( Index );
end;
Perform( TVM_SETITEM, 0, Integer( @TVI ) );
end;

Наверное, все же, это вот с эти связано

Кладов писал(а):
Кроме того, существует системное ограничение на максимальное число узлов в дереве (65536)

------------ Дoбавленo:

Galkov писал(а):
б) хорошо бы учесть, что при размерности три, к примеру, может быть написан в тексте только один индекс
А вот эту задумку на пальцах пожалуйста... Ну подробнее -- это точно.
карма: 22

0