C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[18511] Re:Re:Re:리스트뷰내용 프린트하기
유영인 [Chris] [cuperido] 1132 읽음    2002-05-15 11:43
ListView의 Items가 String 배열과 비슷한 타입이라면 각 Item에 딸려있는 SubItem들도 String 배열로 속해 있습니다. 그래서, Items 를 먼저 쭉 돌리고.. 돌릴때마다 다시 그 아이템의 SubItem도 배열로 쭉 검색을 하셔야 합니다.

아래 예제는 ListView 아이템을 한줄로 뽑아와서, Memo에 차근차근 추가시키는 예제입니다.
폼에, ListView, Memo, Button을 하나씩 놓으시구 사용하시면 됩니다. 아래 Format 명령에서 %-10s 는 10칸으로 칸을 맞춘다는 건데.. 만약 아이템의 길이가 쫌 길다면.. %-30s 등으로 크게 맞춰주세요..


//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

int               itCount, itSubCount;
String            stLine, stSubItem;


for(itCount = 0; itCount < ListView1->Items->Count; itCount ++) {
   stLine = Format("%-10s", ARRAYOFCONST(((String)ListView1->Items->Item[itCount]->Caption)));

   for(itSubCount = 0; itSubCount < ListView1->Columns->Count - 1; itSubCount ++) {
     if(itSubCount < ListView1->Items->Item[itCount]->SubItems->Count)
       stSubItem = ListView1->Items->Item[itCount]->SubItems->Strings[itSubCount];
      else
       stSubItem = "";

     stLine = stLine + Format("%-10s", ARRAYOFCONST(((String)stSubItem)));
   }

   Memo1->Lines->Add(stLine);
}

}
//---------------------------------------------------------------------------


접니다.... 님이 쓰신 글 :
:
:  항상 도움을 많이 주시는 영인님의 답변이 오늘도
:  계속되는 군요. 감사합니다.
:  그런데 제가 초보라 잘 몰라서 그러거든요.
:  메모는 위에 올린 글대로
:  하면 되던데 리스트뷰는 말씀하신대로 메모에서의
:  Lines대신 Items라는 프로퍼티가 있는 건 대강
:  알겠거든요, 근데
:  그 뒤에 어떻게 처리 해야 될지를
:  모르겠습니다. 참고로 리스트뷰의 스타일은 vsReport형식이구요
:  Columns가 6개 정도 됩니다.
:  메모는 한라인을 한번에 찍는 것이 기본이지만
:  리스트뷰는 어떻게 되는 것인지 각 Column마다
:  하나씩 프린트해야 하는지
:  잘 모르겠군요. 그럼 다시 한번 의견 부탁드립니다.

+ -

관련 글 리스트
18499 리스트뷰내용 프린트하기 접니다.... 834 2002/05/15
18500     Re:리스트뷰내용 프린트하기 유영인 [Chris] 967 2002/05/15
18509         Re:Re:리스트뷰내용 프린트하기 접니다.... 831 2002/05/15
18511             Re:Re:Re:리스트뷰내용 프린트하기 유영인 [Chris] 1132 2002/05/15
18519                 영인님 정말 감사합니다. 접니다.... 726 2002/05/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.