当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 我的主页: http://www.tommstudio.com/ 属性编辑器对于大多数Delphi程序员来说无疑是很熟悉的,在对象编辑器的内核中有着大量的属性编辑器,每个对象编辑器中的属性都对应一个属性编辑器类的实例。
 

 

    摘要:我的主页: http://www.tommstudio.com/本文原作者为: 孟辉大家对照片的底片一定都很熟悉了,底片上的颜色与色彩鲜艳的照片的颜色是正好相反的,即反色,这也是我们制作反色图像的核心。编程原理:你所见到的各种色彩都是由红、绿、蓝三种颜色按不同的比例混合而成的,这就是我们所说的三基色,它们的颜色值(rgb值)是 0~255 ,所以我们只需去的图像上各个点的rgb值,然后用255减去......
    摘要://--------------------------------------------------------------------------------// 功能:将 dbgrid 当前列定位到某字段上。// 参数: pdbgrid:tdbgrid; dbgrid// pcfieldname : string 数据表字段名,字段名不区分大小写// 返回:当表字段在 dbgrid 中存......


支持自绘画的属性编辑器
上一页   ...

tvisualfontproperty对象的唯一任务就是选择相应于font名字的字体来画属性值.它设定字体的名称,样式以及颜色(当颜色不同于背景色的时候),字体的大小显示保留不动,以免使用非常大或非常小的字体大小画值的时候会出现的问题.下面就是propdrawvalue的实现部分: 【程序编程相关:Delphi7中存储unicode的BU

【推荐阅读:通用图像识别的神经网络代码描述

【扩展信息:角点检测算子的代码描述

// 替换乏味的tfont属性值的显示方式,用选定的字体样式

//与字体来画相应的属性值,用户可能会选择比较大的字体

//尺寸,所以这里保留字体大小不动,只有当字体颜色不同

//于背景色的时候,才用相应的颜色画,否则前景背景一样

//的话就无法看到字体的属性值了 

procedure tvisualfontproperty.propdrawvalue(

canvas: tcanvas; const rect: trect; selected: boolean);

var

font: tfont;

begin

  font := tfont(getordvalue);

  if font <> nil then begin

    if colortorgb(font.color) <> colortorgb(clbtnface) then

    canvas.font.color := font.color;

    canvas.font.name := font.name;

    canvas.font.style := font.style;

  end;

  inherited;

end;

另外我们重载getvalue方法来提供更多的信息,比如字体名与大小. 

function tvisualfontproperty.getvalue: string;

var

font: tfont;

begin

  font := tfont(getordvalue);

  if font = nil then

  result := inherited getvalue

  else

  result := format(%s, %d, [font.name, font.size]);

end;

我们可以画任何东西到画布上,比如图标与位图的属性编辑器是tgraphicproperty.它显示把图标属性显示为一个乏味的字符串”ticon”. 我们可以把图标属性显示为对应的图标,这样的界面更加友好.这里我们继承一个tvisualgraphicproperty对象重载propdrawvalue来实现这一功能.

tpicture属性的情况也是类似的,所以我们用一个公用的过程drawgraphic来实现,dragraphic缩放图形对象使之符合对象编辑器可用空间的大小,同时它维持原来的宽高比,缩放图像为最小的可能的尺寸.对于图标来说,由于windows不能缩放图标,所以drawgraphic调用stretchicon过程把图标画到位图上,然后缩放位图.
...   下一页
    摘要:一、废话几句从去年年底起,有幸也转到了directshow方面开发。在论坛中也可以为一些初学者解答一些初级问题了见论坛中有人分不清directshow为何物,在这,说明一下:directshow是directx中的一员。dspack是delphi用于做directshow开发的一套(免费)控件。下载地址:http://www.progdigy.com/如果是win2k, 安装之前,必须先安装dir......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE