자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17204
공지 유용한 관련 사이트 관리자2 2014.03.20 56079
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99514
1159 앱스토아에서 심사 거절 당한 이유를 해결해주세요. [2] file 화이부동 2017.11.07 616
1158 델파이 웹에서 exe파일 실행하기 문의드립니다. 알거없잔하용 2018.03.27 616
1157 Ios에서는 파일 다운로드가 안되나요? [1] 어려워 2016.11.03 617
1156 이미지 저장 및 읽기 오류 [1] 처음처럼 2016.03.04 617
1155 C++ Builder 6의 project에서 네트워크 공유폴더 경로에 있는 Source파일이 열리지 않습니다. [3] file 영우CnI 2019.08.09 618
1154 Datasnap 로 3티어 개발중에 [3] 제트콜 2016.06.16 619
1153 10.4 버전 DataSnap 연결 에러 질문드립니다. [4] syc 2020.06.25 619
1152 델파이와 라드스튜디오 차이점 [1] 100jk 2018.08.07 620
1151 윈도우10 에서 BLE 검색 [1] 서영아빠 2016.12.26 621
1150 Tokyo 10.2.1에서 동적생성된 TFrame 해제시 오류... [6] file 푸른솔 2017.10.14 621
1149 폼에 콤보 박스 200개(item 60개) 실행시 시간 오래 걸림 현상 [2] file 포세가이 2020.03.05 621
1148 키보드HOOK에 관하여.... [1] kdocs 2017.02.24 623
1147 FMX에서 설지경로 또는 실행경로를 아는 방법은? [2] 화이부동 2016.08.10 625
1146 DB에 이미지 등록 syc 2016.01.15 625
1145 TWebBrowser 컴포넌트 관련 사항 [2] 자객 2016.03.22 625
1144 Fastreport와 QuickReport중 장기적으로 볼때 어떤게 나은가요? [3] 화이부동 2016.09.12 627
1143 안드로이드에서 app 실행 후 백그라운드시 이벤트는 어떻게? [1] devpro 2017.05.05 628
1142 delphi xe7으로 변경하면 롤리팝 버그가 해결되나요 [2] silkroad99 2015.04.07 629
1141 규모가 큰 프로젝트에서 코드 작성 시 IDE 응답없음이 자주 발생합니다. file 험프리 2017.01.25 632
1140 델파이5에서 Fastreport(*.frf)개발->델파이10에서 (*.fr3)로 변형 방법? [3] 도고래 2016.04.20 634