질문 드리겠습니다.
1. 폼위에 그림파일을 가지고 와서 그것을 버턴을 눌러 바로 인쇄하고 싶구요..
2. 폼위에있는 그림을 인쇄할때 다른 그림파일을 가지고와서(좌표설정을 해주고)같이 인쇄하고싶습니다.
두번째도 가능한가요?
퀵리포트를 잘 몰라서 이렇게 할려고 합니다.
감사합니다.
4. 위를 반복해서 여러개를 겹치게한후 팝업메뉴에서 프레임 순서를 바꾸던지 삭제
//삭제
procedure TForm1.N_DELClick(Sender: TObject);
begin
PopupMenu1.PopupComponent.Destroy;
if (CurControl <> nil) then begin
CurControl.Free;
CurControl:= TControlSizer.CreateParented(handle);
end;
end;
//맨 앞으로
procedure TForm1.N_BringToFrontClick(Sender: TObject);
begin
TControl(PopupMenu1.PopupComponent).BringToFront;
end;
// 맨뒤로
procedure TForm1.N_SendToBackClick(Sender: TObject);
begin
TControl(PopupMenu1.PopupComponent).SendToBack;
Image_MAP.SendToBack;
end;
5.이미지하나씩 클릭해서 이동하거나 크기 재조정하기
6.인쇄시 레포트사용하기
procedure TForm1.Btn_PrintClick(Sender: TObject);
var
I: Integer;
ChildControl: TControl;
QR_Image : TQRImage;
begin
//쪽 설정
//Application.CreateForm(TFReport, FReport);
if not(assigned(FMapPrintReport)) then
FMapPrintReport := TFMapPrintReport.Create(nil);
FMapPrintReport.Page.Orientation := poLandscape;
for I:= 0 to Form1.ControlCount -1 do begin
ChildControl := Form1.Controls[I];
if ChildControl is TImage then begin
QR_Image := TQRImage.Create(self);
//QR_Image.ParentReport := MapPrintReport;
QR_Image.Parent := FMapPrintReport;
QR_Image.Top := ChildControl.Top;
QR_Image.Left := ChildControl.Left;
QR_Image.Width := ChildControl.Width;
QR_Image.Height := ChildControl.Height;
QR_Image.Stretch := True;
QR_Image.Picture := TImage(ChildControl).Picture;
end;
end;
FMapPrintReport.PreviewModal;
//FReport.Print;
FMapPrintReport.CleanupInstance;
FMapPrintReport.Free;
FMapPrintReport := nil;
end;
원하시는건지는? 첨부파일을 참조해보세요.
아래 6개 기능을 해보세요
1.파일열기를 열어서 그림파일 읽어오기
2.마우스로 원하는 위치와 크기만큼 드래그하기
3.마우스 업에서 이미지 생성하기
procedure TForm1.CreateMapImage;
var
TopX, TopY : integer;
Hdc : THandle;
BmpObj : TBitmap;
Ox, Oy, Ow : Double;
begin
if Origin.x = LastDot.x then exit
else if Origin.x < LastDot.x then TopX := Origin.x
else TopX := LastDot.x;
if Origin.y = LastDot.y then exit
else if Origin.y < LastDot.y then TopY := Origin.y
else TopY := LastDot.y;
//이미지콤포 생성후 지도붙이기
Img_MAP := TImage.Create(self);
Img_MAP.Parent := Form1;
Img_MAP.Top := TopY;
Img_MAP.Left := TopX;
Img_MAP.Width := ABS(Origin.x-LastDot.x);
Img_MAP.Height := ABS(Origin.y-LastDot.y);
Img_MAP.Stretch := True;
Img_MAP.BringToFront;
Img_MAP.Picture.LoadFromFile(file_Name);
Img_MAP.OnMouseDown := OBJMouseDown;
Img_MAP.PopupMenu := PopupMenu1;
end;
4. 위를 반복해서 여러개를 겹치게한후 팝업메뉴에서 프레임 순서를 바꾸던지 삭제
//삭제
procedure TForm1.N_DELClick(Sender: TObject);
begin
PopupMenu1.PopupComponent.Destroy;
if (CurControl <> nil) then begin
CurControl.Free;
CurControl:= TControlSizer.CreateParented(handle);
end;
end;
//맨 앞으로
procedure TForm1.N_BringToFrontClick(Sender: TObject);
begin
TControl(PopupMenu1.PopupComponent).BringToFront;
end;
// 맨뒤로
procedure TForm1.N_SendToBackClick(Sender: TObject);
begin
TControl(PopupMenu1.PopupComponent).SendToBack;
Image_MAP.SendToBack;
end;
5.이미지하나씩 클릭해서 이동하거나 크기 재조정하기
6.인쇄시 레포트사용하기
procedure TForm1.Btn_PrintClick(Sender: TObject);
var
I: Integer;
ChildControl: TControl;
QR_Image : TQRImage;
begin
//쪽 설정
//Application.CreateForm(TFReport, FReport);
if not(assigned(FMapPrintReport)) then
FMapPrintReport := TFMapPrintReport.Create(nil);
FMapPrintReport.Page.Orientation := poLandscape;
for I:= 0 to Form1.ControlCount -1 do begin
ChildControl := Form1.Controls[I];
if ChildControl is TImage then begin
QR_Image := TQRImage.Create(self);
//QR_Image.ParentReport := MapPrintReport;
QR_Image.Parent := FMapPrintReport;
QR_Image.Top := ChildControl.Top;
QR_Image.Left := ChildControl.Left;
QR_Image.Width := ChildControl.Width;
QR_Image.Height := ChildControl.Height;
QR_Image.Stretch := True;
QR_Image.Picture := TImage(ChildControl).Picture;
end;
end;
FMapPrintReport.PreviewModal;
//FReport.Print;
FMapPrintReport.CleanupInstance;
FMapPrintReport.Free;
FMapPrintReport := nil;
end;