Конференция "Основная" » VirtualStringTree MeasureItem
 
  • estra (25.01.15 08:09) [0]
    Всем привет!

    Помогите справиться с проблемой. Нужно изменять высоту выделенного узла, делаю так:

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      VirtualStringTree1.RootNodeCount := 50;
      VirtualStringTree1.TreeOptions.MiscOptions :=
         VirtualStringTree1.TreeOptions.MiscOptions + [toVariableNodeHeight];
    end;

    procedure TForm1.VirtualStringTree1MeasureItem(Sender: TBaseVirtualTree;
     TargetCanvas: TCanvas; Node: PVirtualNode; var NodeHeight: Integer);
    begin
      if vsSelected in Node.States then
         NodeHeight := 36
      else
         NodeHeight := 18;
    end;

    Если выбирать узлы мышкой, то все отображается нормально, а если выбирать клавишами ArrowUp/ArrowDown, получается такая ерунда

    http://savepic.su/4847936.jpg

    Как с этим справиться?
  • DimaBr © (26.01.15 10:26) [1]
    Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
    Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.
  • junglecat © (26.01.15 11:22) [2]
    если это косяк vcl, то явно обновлять дерево на событии keyup
    на forum.sources.ru/ ответили уже давно
  • Игорь Шевченко © (26.01.15 11:32) [3]
    DimaBr ©   (26.01.15 10:26) [1]

    Не надо переносить в "Прочее" сообщения от незарегистрированных посетителей.
 
Конференция "Основная" » VirtualStringTree MeasureItem
Есть новые Нет новых   [134430   +2][b:0][p:0]