자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

안녕하세요?

 

델파이 시애틀을 이용하여 모바일 앱을 개발하려고 연구중입니다.

 

이번 질문은 ListBox에 TFrame를 이용하여 사원 목록을 만들었습니다.

 

ListBox에 리스트를 만들고 수정하는 법도 익혔습니다.

 

그런데 ListBox에서 특정 인덱스의 리스트를 삭제하는 방법을 못 찾고 있습니다.

 

예를 들면 체크된 리스트 아이템만 골라서 리스트에서 제거하려고 하는데 제거하는 매서드가 무엇인지요?

 

아래는 ListBox에 TFrame을 생성하여 리스트화하는데 사용한 매서드와 특정  인덱스의 리스트를 수정해본 소스입니다.

 

//ListBox에 프레임을 생성해서 붙임

procedure TForm1.AddWorkPlan(ListBox: TListBox; FrameHeight:integer; FrameCode, STCode, STName, STBCode, STJCode, ImageUrl: String;
  BGColor, NameColor, BCodeColor: Cardinal);
var item : TListBoxItem;
    iFrmWorkPlan : TFrmWorkPlanFrame;//리스트에 붙여질 프레임
begin
    ListBox.BeginUpdate;
    Item := TListBoxItem.Create(ListBox);//리스트박스의 리스트에 붙을 아이템하나 생성
    iFrmWorkPlan := TFrmWorkPlanFrame.Create(self);//아이템에에 붙일 프레임을 하나 생성
    iFrmWorkPlan.Parent:= item;//프레임을 아이템관리자의 하위개체로 등록
    iFrmWorkPlan.Name :=  FrameCode;//프레임을 별도 제어하기 위해 이름을 지정.
    iFrmWorkPlan.Width := ListBox.Width;
    iFrmWorkPlan.Width := ListBox.Width;
    iFrmWorkPlan.Height := FrameHeight;
    iFrmWorkPlan.Position.X := 0;
    iFrmWorkPlan.Position.Y := 0;
    //프레임의 개별 컴포넌트의 값 설정
    iFrmWorkPlan.HideValue1 := STCode;
    iFrmWorkPlan.HideValue2 := STCode;
    iFrmWorkPlan.HideValue3 := STCode;
    iFrmWorkPlan.STName.Text := STName;
    iFrmWorkPlan.STJCode.Text := STBCode + ' - ' + STJCode;

    iFrmWorkPlan.background.Fill.Color := BGColor;
    iFrmWorkPlan.background.Stroke.Color := BGColor;
    iFrmWorkPlan.STName.TextSettings.FontColor := NameColor;
    iFrmWorkPlan.STJCode.TextSettings.FontColor := BCodeColor;


    item.Height := iFrmWorkPlan.Height;
    item.Width  := iFrmWorkPlan.Width ;
    item.OnApplyStyleLookup := WorkPlanLookup;//리스트박스의 아이템이 화면에 보일때 처리할 내용.(한번에 불러오기 너무 큰 데이터들은 보일때 부분부분씩 불러올수 있음).Pay_ItemApplyStyleLookup함수를 만들어서 해당 함수가 작동
    item.Data := iFrmWorkPlan;//아이템에 만들어진 프레임을 붙임
    ListBox.AddObject(item); //리스트 박스에 생성한 아이템을 붙임
    ListBox.EndUpdate;
end;

//리스트  10개 생성
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
    for i := 0 to 10 do
    begin
        AddWorkPlan(ListBox1, 100+(i*10), 'WP'+IntToStr(i), 'WP'+IntToStr(i+1), '철수'+IntToStr(i), '부서'+IntToStr(i), '대리', '');
    end;
end;

//2번째 리스트아이템 이름 변경

procedure TForm1.Button2Click(Sender: TObject);
var item : TListBoxItem;
begin
      item := ListBox1.ListItems[1];//1번째 아이템을 불러온다.

      (item.Data as TFrmWorkPlanFrame).STName.Text := '영희'+IntToStr(1);  //프레임형태로 형변환 하여 이름값 변경
end;

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15762
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
394 AnsiString을 사용할수 없나요? [1] 파란하늘 2017.04.18 576
393 태블릿 스플래시이미지에 9-Patch 이미지를 적용했을때 화면 이상 [5] 이지현 2017.04.06 323
392 IdHttp 대체 NetHTTPClient 관련하여.. [1] 제갈공명 2017.04.11 675
391 listview 오류 [7] file 제트콜 2017.04.06 145
390 InputBox 질문입니다. 희망나라 2017.03.28 153
389 [FMX] System.IOUtils 설정 위치는 implementation 밑에 있어야 하나요? [1] 스카이 2017.03.24 142
388 string 타입 질문입니다. [2] 희망나라 2017.03.20 135
387 TstringList Addobject 질문입니다. [1] 희망나라 2017.03.17 166
386 fmx TEDIT에 스케너로 입력시 속도개선방법문의드립니다. file 오바라미 2017.03.10 165
385 카메라 권한을 runtime 시에 권한설정하려고 합니다. [3] 김하나 2017.02.28 457
384 XE10 Seattle에서 VIEW 범위 질문 [1] 당신이먼저 2017.03.04 106
383 XE10에서 Send mail 문제 [1] 당신이먼저 2017.03.01 317
382 구글 플레이스토어에 앱 등록시 openssl관련 등록거부 문제 [8] 김태윤 2017.02.20 1055
381 델파이 IBLite 안드로이드 실행시문제 [1] 스카이 2017.02.22 216
380 파이어몽키에서 아이폰으로 설치시 e8000051에러가 납니다. file 김태윤 2017.02.15 119
379 앱 재실행 관련 문의드립니다. [1] 우정 2017.02.11 284
378 iOS 호환성 문제 해결방안 file 봉가이버 2017.02.06 2228
377 Baas를 이용하지 않고 구글 푸시 서비스(FCM)를 이용하는 방법 문의 드립니다. [5] 김태윤 2017.01.25 757
376 베를린 update2 후 SqlConnect 컴포넌트가 없어요(DBexpress) 모나도 2017.01.14 105
375 안드로이드에서 앱 설치 시 External에 저장하게 하는 방법입니다. file 푸른솔 2017.01.05 307