자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15766
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97983
394 MemoryStream 문의입니다 [2] file 최민철 2015.09.08 654
393 ListBox 사용중 문의 드립니다. [2] file 오광 2015.09.09 144
392 [XE8] IDE 에디터 사용법 문의 [4] 가을이다 2015.09.14 164
391 서브폼 Close시 메인폼 활성화문제 라운지 2015.09.16 341
390 Delphi 10의 새로운 기능 문의드립니다. [2] 라운지 2015.09.16 144
389 XE8 작업진행중 프로그래스 표시 [1] 가을이다 2015.09.22 594
388 DataSnap를 이용한 여러 데이터 접속. [1] michael 2015.09.24 190
387 XE8 TAniIndicator 문제 [1] 가을이다 2015.09.30 288
386 [MACOS] TEdit에서 엔터키 입력시 비프음 발생 [1] 라운지 2015.09.30 306
385 [MACOS] TEdit Password 기능 오류 [1] 라운지 2015.09.30 164
384 XE8에서 IOS9 실행이 안되나요? [2] 오광 2015.10.05 273
383 TMemo 한글처리 문제 [1] file 라운지 2015.10.06 572
382 [XE8] 모바일개발시 스크롤뷰 감도 낮추는 방법 [1] 가을이다 2015.10.07 220
381 델파이 xe5 firemonkey mobile Applicaton에서 Mediaplayer 사용 [6] superman 2015.10.11 894
380 XE8 WebBrowser컴포넌트 메모리 해제법 가을이다 2015.10.16 815
379 [XE8] 안드로이드 이벤트 처리법 [1] 가을이다 2015.10.19 360
378 [XE8] 안드로이드 default키보드 IME 모드 [2] 가을이다 2015.10.29 673
377 폼에서 수정중 종료안되게 하는 방법을 알고 싶습니다. [1] 광땡 2015.10.29 214
376 [XE8] 컴포넌트 동적생성이 오동작합니다. [1] 가을이다 2015.10.30 186
375 스마트폰에서 폼 종료 방법을 알려주세요. [1] 거북이 2015.11.03 355