Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
[급질문] Treeview 그대로 인쇄하는 방법???
안녕하세요?
저는 델파이 초보입니다.
TreeView를 인쇄하는 방법을 알고 싶습니다.
노드가 많아 화면을 캡쳐해서 인쇄할 수도 없고 막막합니다.
고수님의 조언을 부탁드립니다.
감사합니다.
2
COMMENTS
구창민
•
2000.02.24 00:42
최영호 wrote:
> 안녕하세요?
>
> 저는 델파이 초보입니다.
>
> TreeView를 인쇄하는 방법을 알고 싶습니다.
> 노드가 많아 화면을 캡쳐해서 인쇄할 수도 없고 막막합니다.
>
> 고수님의 조언을 부탁드립니다.
>
> 감사합니다.
>
>
>
참고하세요
아래는 트리뷰를 인쇄하는 예제입니다.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls,Printers;
type
TForm1 = class(TForm)
Panel1: TPanel;
TreeViewPrt: TButton;
TreeView1: TTreeView;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
ListBox1: TListBox;
Panel5: TPanel;
Button2: TButton;
Memo1: TMemo;
Button3: TButton;
Memo2: TMemo;
RadioButton1: TRadioButton;
Panel6: TPanel;
Label1: TLabel;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
procedure TreeViewPrtClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure AddAComponent( A : TComponent);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.AddAComponent(A: TComponent);
var
b : Integer;
begin
for b := 0 to TreeView1.Items.Count-1 do
if TreeView1.Items[b].Text = A.Name then exit;
if A.HasParent then AddAComponent(A.GetParentComponent);
for b := 0 to TreeView1.Items.Count-1 do
if TreeView1.Items[b].Text = A.GetParentComponent.Name then
TreeView1.Items.AddChild(TreeView1.Items[b],A.Name);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
a : Integer;
begin
TreeView1.Items.Add(TreeView1.Selected,Name);
For a := 0 to ComponentCount-1 do AddAComponent(Components[a]);
{ 추가된 부분이다 }
TreeView1.FullExpand;
end;
{ 위에 부분은 컴포넌트를 트리로 보여주기 에 나와 있는 }
{ 프로그램이다 }
{ 이부분이 TreeView 에 있는 내용을 출력하는 부분이다 }
procedure TForm1.TreeViewPrtClick(Sender: TObject);
begin
Printer.BeginDoc;
try
printer.canvas.moveto(100,100);
SetMapMode( printer.canvas.handle, MM_ANISOTROPIC );
SetWindowExtEx(printer.canvas.handle,
GetDeviceCaps(canvas.handle, LOGPIXELSX),
GetDeviceCaps(canvas.handle, LOGPIXELSY),
Nil);
SetViewportExtEx(printer.canvas.handle,
GetDeviceCaps(printer.canvas.handle, LOGPIXELSX),
GetDeviceCaps(printer.canvas.handle, LOGPIXELSY),
Nil);
treeview1.PaintTo( printer.canvas.handle, 100, 100 );
finally
printer.enddoc;
end;
end;
end.
0
0
삭제
수정
댓글
최영호
•
2000.02.24 01:41
구창민님 감사합니다.
그런데 제가 원하는 것은
노드가 많아 (수백개) 화면 보이는데로 인쇄하는 것이
아니라 트리뷰의 모든 노드를 인쇄하는 것입니다.
바쁘신 줄 아시지만 다시 한번 부탁드리겠습니다.
그럼 안녕히.....
구창민 wrote:
> 최영호 wrote:
> > 안녕하세요?
> >
> > 저는 델파이 초보입니다.
> >
> > TreeView를 인쇄하는 방법을 알고 싶습니다.
> > 노드가 많아 화면을 캡쳐해서 인쇄할 수도 없고 막막합니다.
> >
> > 고수님의 조언을 부탁드립니다.
> >
> > 감사합니다.
> >
> >
> >
>
> 참고하세요
>
> 아래는 트리뷰를 인쇄하는 예제입니다.
>
> unit Unit1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
> ComCtrls, StdCtrls, ExtCtrls,Printers;
>
> type
> TForm1 = class(TForm)
> Panel1: TPanel;
> TreeViewPrt: TButton;
> TreeView1: TTreeView;
> Panel2: TPanel;
> Panel3: TPanel;
> Panel4: TPanel;
> ListBox1: TListBox;
> Panel5: TPanel;
> Button2: TButton;
> Memo1: TMemo;
> Button3: TButton;
> Memo2: TMemo;
> RadioButton1: TRadioButton;
> Panel6: TPanel;
> Label1: TLabel;
> Label2: TLabel;
> procedure FormCreate(Sender: TObject);
> procedure TreeViewPrtClick(Sender: TObject);
> private
> { Private declarations }
> public
> { Public declarations }
> procedure AddAComponent( A : TComponent);
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.DFM}
> procedure TForm1.AddAComponent(A: TComponent);
> var
> b : Integer;
> begin
> for b := 0 to TreeView1.Items.Count-1 do
> if TreeView1.Items[b].Text = A.Name then exit;
> if A.HasParent then AddAComponent(A.GetParentComponent);
> for b := 0 to TreeView1.Items.Count-1 do
> if TreeView1.Items[b].Text = A.GetParentComponent.Name then
> TreeView1.Items.AddChild(TreeView1.Items[b],A.Name);
>
> end;
>
> procedure TForm1.FormCreate(Sender: TObject);
> var
> a : Integer;
> begin
> TreeView1.Items.Add(TreeView1.Selected,Name);
> For a := 0 to ComponentCount-1 do AddAComponent(Components[a]);
> { 추가된 부분이다 }
> TreeView1.FullExpand;
> end;
>
> { 위에 부분은 컴포넌트를 트리로 보여주기 에 나와 있는 }
> { 프로그램이다 }
>
>
> { 이부분이 TreeView 에 있는 내용을 출력하는 부분이다 }
>
> procedure TForm1.TreeViewPrtClick(Sender: TObject);
> begin
> Printer.BeginDoc;
> try
> printer.canvas.moveto(100,100);
> SetMapMode( printer.canvas.handle, MM_ANISOTROPIC );
> SetWindowExtEx(printer.canvas.handle,
> GetDeviceCaps(canvas.handle, LOGPIXELSX),
> GetDeviceCaps(canvas.handle, LOGPIXELSY),
> Nil);
> SetViewportExtEx(printer.canvas.handle,
> GetDeviceCaps(printer.canvas.handle, LOGPIXELSX),
> GetDeviceCaps(printer.canvas.handle, LOGPIXELSY),
> Nil);
> treeview1.PaintTo( printer.canvas.handle, 100, 100 );
> finally
> printer.enddoc;
> end;
> end;
>
> end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
최영호
•
2000.02.23 23:19
2
COMMENTS
/
0
LIKES
[급질문] Treeview 그대로 인쇄하는 방법???
안녕하세요? 저는 델파이 초보입니다. TreeView를 인쇄하는 방법을 알고 싶습니다. 노드가 많아 화면을 캡쳐해서 인쇄할 수도 없고 막막합니다. 고수님의 조언을 부탁드립니다. 감사합니다.
구창민
•
2000.02.24 00:42
최영호 wrote: > 안녕하세요? > > 저는 델파이 초보입니다. > > TreeView를 인쇄하는 방법을 알고 ...
최영호
•
2000.02.24 01:41
구창민님 감사합니다. 그런데 제가 원하는 것은 노드가 많아 (수백개) 화면 보이는데로 인쇄하는 것이 ...
최영호
•
2000.02.23 23:17
1
COMMENTS
/
0
LIKES
Treeview이벤트 OnCustomDrawItem ?????
구창민
•
2000.02.24 00:46
최영호 wrote: > 안녕하십니까? > > 몇칠전 트리뷰에서 아이템의 노드마다 > 색상을 달리하는 관하...
성 일호
•
2000.02.23 23:11
1
COMMENTS
/
0
LIKES
Windows 98 에서 Delphi 3 사용이 가능한가?
권영택
•
2000.11.15 01:23
98에 델파이 3으로 한 1년반정도 썼으나 별 탈은 나지 않은것 같습니다. 아마 os쪽 불안이 아닌가 생각해 ...
김진호
•
2000.02.23 23:05
2
COMMENTS
/
0
LIKES
스피드 버튼의 이미지 바꾸기
문창완
•
2000.02.24 00:58
김진호 wrote: > 마우스가 버튼위로 왔을때 이미지가 바뀌도록 mousemove이벤트에 다음과 같이 설정을 했...
술친구
•
2000.02.23 23:20
김진호 wrote: > 마우스가 버튼위로 왔을때 이미지가 바뀌도록 mousemove이벤트에 다음과 같이 설정을 했...
정우성
2000.02.23 22:51
0
COMMENTS
/
0
LIKES
INI
저요
•
2000.02.23 22:19
1
COMMENTS
/
0
LIKES
예전의 양을 기억하시나요?
민성기
•
2000.02.24 00:26
안냐세요~ 민성깁니다. 저두 이것 저것 해 봤지만... 가장 좋은 방법은 RGN을 이용해 폼을 잘라내는 것...
궁금이
•
2000.02.23 21:46
1
COMMENTS
/
0
LIKES
QuickReport에서 데이터전달 방법
김광섭
•
2000.02.24 01:11
궁금이 wrote: > QuickReport에서 데이터전달 방법에 대한 질문입니다... > > 우선 두개의 Query에 의...
변인호
2000.02.23 21:11
0
COMMENTS
/
0
LIKES
AxtiveX form에서 리턴되는 값을 asp에서 받을 수 있나요?
델초
•
2000.02.23 20:57
4
COMMENTS
/
0
LIKES
넷스케이프의 클래스명은??
클라라
•
2000.02.24 10:28
델초 wrote: > IEhwnd := FindWindow('Netscape', nil); > > if IEhwnd > 0 then begin > SendMess...
델초
•
2000.02.24 20:53
클라라 wrote: > procedure TForm1.Button2Click(Sender: TObject); > var IEhwnd:HWND; > tt...
클라라
•
2000.02.25 09:40
델초 wrote: > 클라라 wrote: > > procedure TForm1.Button2Click(Sender: TObject); > > var IEhwnd...
델초
•
2000.02.25 11:40
Nethwnd := FindWindow('DMGFrame',nil); //--Netscape ClassName if Nethwnd > 0 then begin SendMes...
조재준
•
2000.02.23 19:24
1
COMMENTS
/
0
LIKES
이미지 자료 관리에 관해...
구창민
•
2000.02.23 20:19
조재준 wrote: > 클라이언트 서버용 이미지 관리 프로그램을 > 작성하려고 합니다. > 디비에 이미지의 ...
이순희
•
2000.02.23 19:15
1
COMMENTS
/
0
LIKES
[급질문] db 파일만 있는데...
김광섭
•
2000.02.24 01:46
이순희 wrote: > 델파이로 작성된 명함관리 프로그램인데요... (다른 사람이 작성) > 프로그램에 약간의 ...
채재호
2000.02.23 18:30
0
COMMENTS
/
0
LIKES
VCL 커파일 방법
권태수
•
2000.02.23 18:23
2
COMMENTS
/
0
LIKES
"override" keyword에 대해서 설명부탁?
구창민
•
2000.02.23 20:21
권태수 wrote: > procedure에서 override의 역할에대해서 자세한 설명부탁합니다. 권태수님 안녕하시...
권태수
•
2000.02.24 18:13
창민님 오랫만에 온라인상에서 만나는군요!! 창민님의 답변이 제가궁금하게 생각한 바로 그것이었습니다...
이선미(진정한 초보)
•
2000.02.23 12:05
1
COMMENTS
/
0
LIKES
조건에 맞는 프린트
유도삼
•
2000.02.23 17:41
이선미(진정한 초보) wrote: > 회원의 조건을 검색해서 봉투를 인쇄하려고 합니다. > 봉투인쇄는 퀵레포...
윤영선
2000.02.23 08:48
0
COMMENTS
/
0
LIKES
Treeview에서 ImageList가 깨져요??
김명찬
2000.02.23 07:48
0
COMMENTS
/
0
LIKES
사이베이스 도움말이나 메뉴얼 자료 가지신분..
선용
•
2000.02.23 06:57
3
COMMENTS
/
0
LIKES
버튼위에 마우스를 갇다대면 이미지가 변하게 하려면 ?
방기남
•
2000.02.23 13:47
선용 wrote: > 아시는 분이 계시면 좀 알려주세요..... > > 델파이의 초보자 입니다... > > 버튼이...
선용
•
2000.02.23 22:01
답변 감사합니다. 그런데 마우스가 버튼위에 있으면 그림이나 캡션이 변하는데 마우스가 다른곳으로 이등...
문창완
•
2000.02.24 00:47
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,...
ttwon
2000.02.23 05:38
0
COMMENTS
/
0
LIKES
<급질문>매출처별세금계산서합계표 ..QReport로 어떻게
리버
2000.02.23 05:10
0
COMMENTS
/
0
LIKES
error가 나는군요(고수님의 도움을 기다리는 무식이가..)
이세영
•
2000.02.23 04:34
1
COMMENTS
/
0
LIKES
코드의 의미를 알고 싶어요..
민성기
•
2000.02.23 09:31
안녕하세요~ 민성기 입니다. 말씀하신 코드는 객체의 프로퍼티의 선언을 위한 일종의 문법이라고 보시면...
최영호
2000/02/23 23:19
Views
181
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요?
>
> 저는 델파이 초보입니다.
>
> TreeView를 인쇄하는 방법을 알고 싶습니다.
> 노드가 많아 화면을 캡쳐해서 인쇄할 수도 없고 막막합니다.
>
> 고수님의 조언을 부탁드립니다.
>
> 감사합니다.
>
>
>
참고하세요
아래는 트리뷰를 인쇄하는 예제입니다.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls,Printers;
type
TForm1 = class(TForm)
Panel1: TPanel;
TreeViewPrt: TButton;
TreeView1: TTreeView;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
ListBox1: TListBox;
Panel5: TPanel;
Button2: TButton;
Memo1: TMemo;
Button3: TButton;
Memo2: TMemo;
RadioButton1: TRadioButton;
Panel6: TPanel;
Label1: TLabel;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
procedure TreeViewPrtClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure AddAComponent( A : TComponent);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.AddAComponent(A: TComponent);
var
b : Integer;
begin
for b := 0 to TreeView1.Items.Count-1 do
if TreeView1.Items[b].Text = A.Name then exit;
if A.HasParent then AddAComponent(A.GetParentComponent);
for b := 0 to TreeView1.Items.Count-1 do
if TreeView1.Items[b].Text = A.GetParentComponent.Name then
TreeView1.Items.AddChild(TreeView1.Items[b],A.Name);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
a : Integer;
begin
TreeView1.Items.Add(TreeView1.Selected,Name);
For a := 0 to ComponentCount-1 do AddAComponent(Components[a]);
{ 추가된 부분이다 }
TreeView1.FullExpand;
end;
{ 위에 부분은 컴포넌트를 트리로 보여주기 에 나와 있는 }
{ 프로그램이다 }
{ 이부분이 TreeView 에 있는 내용을 출력하는 부분이다 }
procedure TForm1.TreeViewPrtClick(Sender: TObject);
begin
Printer.BeginDoc;
try
printer.canvas.moveto(100,100);
SetMapMode( printer.canvas.handle, MM_ANISOTROPIC );
SetWindowExtEx(printer.canvas.handle,
GetDeviceCaps(canvas.handle, LOGPIXELSX),
GetDeviceCaps(canvas.handle, LOGPIXELSY),
Nil);
SetViewportExtEx(printer.canvas.handle,
GetDeviceCaps(printer.canvas.handle, LOGPIXELSX),
GetDeviceCaps(printer.canvas.handle, LOGPIXELSY),
Nil);
treeview1.PaintTo( printer.canvas.handle, 100, 100 );
finally
printer.enddoc;
end;
end;
end.