delphi中canvas画布的运用
在DELPHI为编程者提供了一个灵活的绘图场所,即本文所述的
CANVAS类,在DELPHI中的很多控件都具有此属性,使编程者可以
在这些的控件的表面随心所欲的绘图,这对完善用户界面或者制
作一些屏幕特技都有着非凡的作用,下面举例说明几种特殊屏幕
效果的形成过程。
一、CANVAS必备基本知识:
1.具有CANVAS属性的控件:
TBitmap,TComboBox,TDBComboBox,TDBGrid,TDBListBox,TDirectoryListBox,
TDrawGrid,TFileListBox,TForm,THeaderControl,TImage,TListBox,TOutline,
TPaintBox,TPrinter,TStatusBar,TStringGrid等,
2.CANVAS属性及命令:篇幅所限,省略参数及格式说明,具体请参考文后程序及DELPHI帮助文件:
canvas.rectangle():画矩形pen.color:定义画笔颜色
roundrect():画圆角矩形pen.width:定义画笔宽度
arc():画弧线(不填充) brush.color:定义填充颜色
chord():画弧线(填充) textout():在固定位置输出字符串
pie:画扇形 textwidth:取字符串高度
polygon():画多边形填充textheight:取字符串宽度
polyline():多点连线(不填充)font.color:指定字体颜色
Pixels():指定固定象素点颜色值font.size:指定字体大小
moveto():指明画线起点 Ellipse():画圆或椭圆
lineto():指明画线终点
3.使用CANVAS注意事项:当窗口进行重画时,画布上的图像将消
失,比如当窗口进行最小化又重新恢复时,就会引起画布上图像
的消失,另外当刚刚运行程序时,窗口也是属于重新绘制,所以
如果在绘制窗口之前在画布上绘图,弹出窗口后将不能显示出图
像,比如在TForm1.FormCreate()事件中进行画布绘图操作将是
徒劳的,但可以在此事件中进行画布操作的准备工作,比如设置
画笔的颜色和宽度等。
相关文档:
容器的主要职责有两个:存放元素和浏览元素。根据单一职责原则(SRP)要将二者分开,于是将浏览功能打包封装就有了迭代器。
用迭代器封装对动态数组的遍历:
1.容器中的元素类
{《HeadFirst设计模式》之迭代器模式 }
{ 容器中的元素类 ......
1. 命令的接收者
{《HeadFirst设计模式》之命令模式 }
{ 本单元中的类为命令的接收者 }
{ 编译工具 :Delphi7.0 }
{ 联系方式 :xshlife@163.com }
unit uReceiveObject;
interface
type
TLight = class(TObject)
private
FLocation: String;
public
constru ......
命令模式可以很轻松的实现撤销(Undo)功能。
1. 命令的接受者
unit uReceiveObject;
interface
type
TLight = class(TObject)
public
procedure Open;
procedure Off;
end;
implementation
{ TLight }
procedure TLight.Off;
begin
Writeln('Light is off.');
......
Delphi的源码定位方法网上搜索到好像不太多。
这里分享我自己的两个方法。
引用一段话
引用内容
什么是 MAP 文件?
MAP 文件是程序的全局符号、源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方、任何时候使用,不需要有额外的程序进行支持。而且,这是唯一能找出程序崩溃的地方的救星。
DEL ......
在Delphi中使用RAS实现对系统拨号的控制
在企业应用中有时候希望能在程序中实现对拨号网络的控制,以实现自动拨号、自动断开网络。在尝试了多种方式之后,认为RAS是一种比较稳定的方式。在google了网上一些资料后,现整理如下:
一、首先需要有个针对RAS的头文件定义,Ras.pas代码如下
{* Cop ......