用QuickReport画报表,斜线如何画啊,还有Delphi中没有专门画线的控件吗,小弟初涉Delphi 我做了一个化斜线的控件,重载paint方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit MyQRShape;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, QuickRpt, Qrctrls;type Tlines=(None,TopBottom,BottomTop);type TMyQRShape = class(TQRShape) private { Private declarations } FLineType:Tlines ; procedure SetFLineType(Value:Tlines) ; protected { Protected declarations } procedure Paint ;override; procedure Print(OfsX,OfsY : Integer);override; public { Public declarations } published { Published declarations } property LineType:Tlines Read FLineType Write SetFLineType ; end;procedure Register;implementationprocedure Register;begin RegisterComponents('MyOwner', [TMyQRShape]);end;{ TMyQRShape }procedure TMyQRShape.Paint;begin case LineType of BottomTop: begin Canvas.MoveTo(0,Height) ; Canvas.LineTo(width,0 ) ; end ; TopBottom: begin Canvas.MoveTo(0,0) ; Canvas.LineTo(width,Height ) ; end ; None: begin Height := Parent.Height ; Top:=0 ; Width:=4 ; Shape:=qrsVertLine ; Inherited Paint ; end ;end ;end;procedure TMyQRShape.Print(OfsX, OfsY: Integer);begin with QRPrinter do begin case LineType of BottomTop: begin Canvas.MoveTo(Xpos(OfsX + Size.Left), Ypos(OfsY + Size.Top)+Height) ; Canvas.LineTo(Xpos(OfsX + Size.Left)+width,Ypos(OfsY + Size.Top) ) ; end ; TopBottom: begin Canvas.MoveTo(Xpos(OfsX + Size.Left), Ypos(OfsY + Size.Top)) ; Canvas.LineTo(Xpos(OfsX + Size.Left)+Width,Ypos(OfsY + Size.Top)+Height ) ; end ; None: Inherited Print(OfsX,OfsY ) ; end ; end ;end;procedure TMyQRShape.SetFLineType(Value:Tlines);begin if Value<>FLineType then begin FLineType:=Value ; Invalidate ; end ;end;end. 问一个Delphi关于Flash的问题 难!!怎样将数据库读出的数据转换成视频来播放? my sql 奇怪问题,高手请看50分。 請問如何在delphi中調用dll函數 ?listview 请进来看看好吗? Paradox数据库的备份问题? 类似QQ面板、Outlook面板的控件,是我自己编写的。现在先贴出部分文档,在我整理完之后会发到网上希望大家给与支持。 我用delphi作一多媒体教学软件,可惜不能播放 .ram .rm 的文件,不知可有解决方法? bde转换到ado 如何判断是否安装打印机? 超级兔子保护后,注册表的值怎么改?
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
QuickRpt, Qrctrls;type
Tlines=(None,TopBottom,BottomTop);
type
TMyQRShape = class(TQRShape)
private
{ Private declarations }
FLineType:Tlines ;
procedure SetFLineType(Value:Tlines) ;
protected
{ Protected declarations }
procedure Paint ;override;
procedure Print(OfsX,OfsY : Integer);override;
public
{ Public declarations }
published
{ Published declarations }
property LineType:Tlines Read FLineType Write SetFLineType ;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('MyOwner', [TMyQRShape]);
end;{ TMyQRShape }procedure TMyQRShape.Paint;
begin
case LineType of
BottomTop:
begin
Canvas.MoveTo(0,Height) ;
Canvas.LineTo(width,0 ) ;
end ;
TopBottom:
begin
Canvas.MoveTo(0,0) ;
Canvas.LineTo(width,Height ) ;
end ;
None:
begin
Height := Parent.Height ;
Top:=0 ;
Width:=4 ;
Shape:=qrsVertLine ;
Inherited Paint ;
end ;
end ;
end;procedure TMyQRShape.Print(OfsX, OfsY: Integer);
begin
with QRPrinter do
begin
case LineType of
BottomTop:
begin
Canvas.MoveTo(Xpos(OfsX + Size.Left), Ypos(OfsY + Size.Top)+Height) ;
Canvas.LineTo(Xpos(OfsX + Size.Left)+width,Ypos(OfsY + Size.Top) ) ;
end ;
TopBottom:
begin
Canvas.MoveTo(Xpos(OfsX + Size.Left), Ypos(OfsY + Size.Top)) ;
Canvas.LineTo(Xpos(OfsX + Size.Left)+Width,Ypos(OfsY + Size.Top)+Height ) ;
end ;
None:
Inherited Print(OfsX,OfsY ) ;
end ;
end ;end;procedure TMyQRShape.SetFLineType(Value:Tlines);
begin
if Value<>FLineType then
begin
FLineType:=Value ;
Invalidate ;
end ;
end;end.