Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->编程语言 ->Delphi ->对Delphi控件的一点改良(二)
  相关分类: 
ASP
ViualBasic
UML / Rational Rose
PHP4/PHP5
Perl
JAVA/JSP教程
Delphi
ColdFusion
CGI
C/C++
ASP.NET
XML
  站内搜索: 
热门文章排行
热门文章排行 Delphi字符串函数大全(06-05)
Windows的DDE原理(06-05)
制作QQ消息炸弹(06-05)
delphi中的XML解析控件TXMLDocument(06-05)
谈Delphi编程中“流”的应用(06-05)
精采文章排行
精采文章排行 如何用Delphi制作录音程序(06-05)
谈Delphi编程中“流”的应用(06-05)
如何把数据库的内容写入到Word文档中(06-05)
从实作标题栏按钮开始浅谈组件的制作(06-05)
“98五笔字型输入法”大批量造词(06-05)
  ·谈Delphi编程中“流”的应用·如何把数据库的内容写入到Word文档中?·从实作标题栏按钮开始浅谈组件的制作·“98五笔字型输入法”大批量造词·关于Delphi大Bug的更详细的例子·不知您是笨蛋,还是我是笨蛋,关于Delphi·剖析TThread类·理解类引用这种类型·改良控件-Delphi自带控件Bug的消除

对Delphi控件的一点改良(二)

作者:Webmaster   来源:Linuxdby.com   点击:   日期:2007-06-05 [收藏] [投稿]

  IE是否经常中毒?推荐您

 

如何在没有画布的控件上进行绘画呢?比如说Tpanel,他不具备画布的属性在上面写字画画都有困难。自己再把它包装一下吗?麻烦点吧!如何才能方便的进行处理呢?

看看这段代码

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  PanelCanvas: TCanvas;

begin
  PanelCanvas := TControlCanvas.Create;
  TControlCanvas(PanelCanvas).Control := Panel1;
  PanelCanvas.Brush.Style := bsClear;
  PanelCanvas.Pen.Color := clBlue;
  PanelCanvas.Rectangle(2, 2, Panel1.Width - 2, Panel1.Height - 2);
  PanelCanvas.Font.Name:='楷体_GB2312';
  PanelCanvas.Font.Size:=24;
  PanelCanvas.TextOut(Panel1.Width div 2,Panel1.Height div 2,'OK');
  PanelCanvas.Free;
end;

end.

当少量应用时可以这样处理。当然如果要当量应用在没有画布的控件上绘画就用以上的方法把原来的控件包装一下开发一个新的控件,会更方便一些。




 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:对Delphi控件的一点改良   下一篇:对Delphi控件的一点改良(三)
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·如何用Delphi制作录音程序

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。