자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 34541
공지 유용한 관련 사이트 관리자2 2014.03.20 74052
1312 현재 Delhi버젼은 어떤종류가 있나요? [1] 드레곤 2016.05.23 352
1311 윈도우10에서 델파이7 프로젝트의 구동 가능 여부를 알고 싶습니다. [1] 차니찬 2016.05.19 2426
1310 안드로이드 Bluetooth file 세진 2016.05.13 404
1309 델파이 브레이크포인트가 안잡혀서 디버깅에 어려움이 있습니다. [1] 유탐호호 2016.05.12 2062
1308 Xe5에서 SDK 삭제후 재 설치 할 수 있나요? [1] 농가사랑 2016.05.12 1193
1307 [질문] Ribbon 의 MaxIcon을 Enabled = False 또는 Visible = false를 줄 수 없나요? 바람돌이 2016.05.11 333
1306 안드로이드 스플래쉬 이미지 나인패치 적용 문제 레드 2016.05.10 649
1305 VCL 소스 폴더와 ShellControls 컴포넌트가 왜 없나요? (XE10) [1] 서어 2016.05.04 344
1304 베를린의 다이나믹 리스트뷰에서 정렬하는 방법을 알고 싶습니다. [1] file 거북이 2016.05.09 328
1303 interbase 사용자 또는 비밀번호 알수있는 방법 있나요? [1] secret 푸르름 2016.05.04 4
1302 SetFocus 문의입니다 [2] 아폴로 2016.04.29 819
1301 [베를린 웨비나] 버전이 너무 자주 바뀌는데 앞으로의 정책이나 방향에 대한 것은 없나요. 험프리 2016.05.04 291
1300 [베를린 웨비나] 예제 샘플들이 다양했으면 좋겠습니다. 험프리 2016.05.04 265
1299 [베를린 웨비나] FireUI Preview 설치 설명을 나중에 게시판 통해서 조금 보강해 주시면 좋겠습니다. 험프리 2016.05.04 289
1298 안드로이드 앱이 실행하진않는 오류가 발생합니다.. [3] 밤바야 2016.05.02 1306
1297 라벨프린터인쇄시 델7에서는 잘나오는데 XE7에서는 글자가 짤립니다 [1] 마이키 2016.05.02 781
1296 구글 플레이 스토어에 앱을 올리려 합니다. [1] 가은 2016.04.29 580
1295 IBLite 다운받는 순서에서 질문입니다. [3] youngdel 2016.04.20 411
1294 계층적 구조에 대해서 질문이 있습니다. [2] youngdel 2016.04.26 286
» 파이어몽키 ListBox에서 목록 삭제 방법 문의 [1] 김태윤 2016.04.29 758