2014-11-21 3 views
0

내 프로그램에서 나는 xml의 블로그를 읽고 제목을 TListBox에 넣는 함수를 만들었다. 하지만 글꼴, 높이 및 색상과 같은 TListBoxItem의 일부 속성을 변경해야하지만 변경되지 않습니다.런타임에 Android 앱에서 TlistBoxItem의 속성을 변경하는 방법은 무엇입니까?

런타임시 어떻게 설정합니까? aListboxItem.StyledSettings : 런타임시 [델파이 XE7으로 테스트]

repeat 
    Title := ANode.ChildNodes['title'].Text; 
    Link := ANode.ChildNodes['link'].Text; 
    Desc := ANode.ChildNodes['description'].Text; 
    DataPub := ANode.ChildNodes['pubDate'].Text; 
    SetLength(Vet_News, Pos + 1); 
    Vet_Nesw[Pos] := '<h2>'+Title+'</h2>'+Desc; 
    Itemx := TListBoxItem.Create(self); 
    Itemx.Text := Title; 
    Itemx.ItemData.Detail := DataPub; 
    Itemx.ItemData.accessory := TListBoxItemData.TAccessory.aMore; 
    Itemx.TextSettings.WordWrap := true; 
    Itemx.TextSettings.FontColor := TAlphaColorRec.Darkorange; 
    Itemx.Height := 65; 
    Itemx.FontColor := TAlphaColorRec.Darkorange; // i tried two ways to change the color 
    lbNews.AddObject(Itemx); // lbnews is a Tlistbox 
    Inc(Pos); 
    ANode := ANode.NextSibling; 
until ANode = nil; 
+0

아마도 TListBox 또는 목록 상자 항목의 스타일을 변경해야합니다. –

+0

또 다른 아이디어? 런타임에만 내가 설정을 변경할 수 없습니다. – Murilo

+0

Via StyleLookup (항목에 대해)? 항목에서 사용중인 스타일을 변경하거나 조회를 변경하여 새 스타일을 참조하십시오. 그렇지 않으면 질문을 확장 할 수 있습니까? –

답변

0

는 Listboxitems 이미 저장된 계산 스타일을 갖는다. 런타임에 설정을 변경하려면 먼저 스타일이 지정된 설정 목록에서 설정을 제거해야합니다. 당신이 FontColor을 변경하려면

예를 들어, 먼저 스타일 FONTCOLOR 제거 :

aListboxItem.FontColor := TAlphaColors.Green; 

TStyledSetting 상수 및 해당 :

aListboxItem.StyledSettings := aListboxItem.StyledSettings - [TStyledSetting.FontColor]; 

그런 다음 다른 적용을 (의 녹색을 가정 해 봅시다) TTextSettings 속성은 here in Delphi's doc으로 표시됩니다.

런타임에 스타일을 변경하는 예제는 herethere입니다.

Nota 베네 : theListBox.Items[i]은 항목 자체가 아닌 항목 콘텐츠에 대한 액세스를 제공합니다. 가 컨트롤로 ListBoxItem의를 잡아 한 다음 해당 속성에 역할을하려면 사용할 수 있습니다 하나가 더 나은 경우

aListboxItem := theListBox.ListItems[i]; 

또는

aListboxItem := theListBox.ItemByIndex(i); 

모두 정확히 같은 결과를 제공

, 내가 말할 수 없습니다.