Модераторы Равиль Зарипов (ZuBy) Опубликовано 10 июня, 2015 Модераторы Поделиться Опубликовано 10 июня, 2015 Доброго времени суток! В общем задача заключается в следующем: не разворачиваются Item'ы на Андроиде вот так выглядит на android'e а вот так на windows код который использую procedure TFormFM.NavigationTreeView(aTree: TTreeView; const aData: string); function myIndexStr(aFind, aStr: string): Boolean; // точное совпаданеи начала строки var i: integer; s: string; begin s := ''; for i := {$IFDEF WIN32} 1 {$ELSE} 0 {$ENDIF} to aFind.Length do s := s + aStr[i]; Result := aFind = s; end; var Item: TTreeViewItem; StrList: TStringList; i, c: integer; Str, ParseStr: string; begin StrList := TStringList.Create; StrList.Text := aData; aTree.BeginUpdate; for i := 0 to StrList.Count - 1 do begin Str := StrList.Strings[i]; ParseStr := Parse('">', '</option>', Str); if Pos('a', ParseStr) > 0 then ParseStr := StringReplace(ParseStr, 'a', 'a', [rfReplaceAll]); Item := TTreeViewItem.Create(nil); Item.StyleLookup := 'treeviewitemstyle'; Item.Text := trim(StringReplace(ParseStr, '-', '', [rfReplaceAll])); Item.HelpKeyword := Parse('<option value="', '">', Str); if Pos('-', ParseStr) = 0 then aTree.AddObject(Item) else if myIndexStr('-- ', ParseStr) then aTree.Items[aTree.GlobalCount - 1].AddObject(Item) else if myIndexStr('---- ', ParseStr) then aTree.Items[aTree.GlobalCount - 1].Items[aTree.Items[aTree.GlobalCount - 1].Count - 1] .AddObject(Item) else if myIndexStr('------ ', ParseStr) then begin c := aTree.Items[aTree.GlobalCount - 1].Items[aTree.Items[aTree.GlobalCount - 1].Count - 1].Count - 1; aTree.Items[aTree.GlobalCount - 1].Items[aTree.Items[aTree.GlobalCount - 1].Count - 1] .Items[c].AddObject(Item) end; end; aTree.EndUpdate; FreeAndNil(StrList); end; в стиле присутствует этот ресурс (стрелка) при дизайн тайме стрелка появляется и все разворачивается Кто знает решение? может чего не прописал в создании Item'a Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 12 июня, 2015 Автор Модераторы Поделиться Опубликовано 12 июня, 2015 procedure TFormFM.NavigationTreeView(aTree: TTreeView; const aData: string); var Root, Child, SubChild, Item: TTreeViewItem; StrList: TStringList; i, c: integer; Str, ParseStr: string; begin StrList := TStringList.Create; StrList.Text := aData; aTree.BeginUpdate; aTree.Clear; for i := 0 to StrList.Count - 1 do begin Str := StrList.Strings[i]; ParseStr := Parse('">', '</option>', Str); if Pos('a', ParseStr) > 0 then ParseStr := StringReplace(ParseStr, 'a', 'a', [rfReplaceAll]); Item := TTreeViewItem.Create(nil); Item.StyleLookup := 'treeviewitemstyle'; Item.Text := trim(StringReplace(ParseStr, '-', '', [rfReplaceAll])); Item.HelpKeyword := Parse('<option value="', '">', Str); Item.ClipChildren := false; if Pos('-', ParseStr) = 0 then begin aTree.AddObject(Item); Root := Item; end else if ParseStr.StartsWith('-- ') then begin Root.AddObject(Item); Child := Item; end else if ParseStr.StartsWith('---- ') then begin Child.AddObject(Item); SubChild := Item; end else if ParseStr.StartsWith('------ ') then begin SubChild.AddObject(Item); end; end; aTree.EndUpdate; aTree.RealignContent; FreeAndNil(StrList); end; вот решение если кто столкнется с таким же багом спасибо Ярославу! zairkz 1 Цитата Ссылка на комментарий
Вопрос
Равиль Зарипов (ZuBy)
Доброго времени суток!
В общем задача заключается в следующем:
не разворачиваются Item'ы на Андроиде
вот так выглядит на android'e
а вот так на windows
код который использую
в стиле присутствует этот ресурс (стрелка)
при дизайн тайме стрелка появляется и все разворачивается
Кто знает решение? может чего не прописал в создании Item'a
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.