我做了一个化斜线的控件,重载paint方法。
解决方案 »
- DBLookupComboBox1做选择框,只设置ListSource,怎样让窗体一启动,DBLookupComboBox1的内容就自动显示为ListSource的默认记录上,我现在
- 如何将Excel中的内容导入数据库中
- ADO连Paradox的问题
- 请教,如何从一个英文句子中分割出每个英文单词?
- 我用WINEXEC(CMDSTR,SW_SHOWNORMAL)语句对oracle数据库进行备份,但是不知道该如何取的数据库在DOS下的相关导出信息。请各位高手帮忙!!
- 如何移植我的东西????急!!!!
- Delphi 字間距
- 请各位delphi爱好者介绍一下好的网站,(市面上常见的就不用说了)
- 请问如何将字符串中的'/100'变成'%'(内详)
- 新手一问
- 如何判断是否安装打印机?
- 超级兔子保护后,注册表的值怎么改?
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.