引言: (*
———————————————原理:————————————————
对于任何一种线性渐变(就是最常见的那种),在由起点和终点定义的渐变区
内,像素的RGB分量对于X和Y坐标的偏导数都是常量。
摘要:为什么windows的系统菜单总是一成不变?这个例子教你如何往系统菜单添加一个菜单项如about或information等。
这个例子将一个菜单项加到系统菜单中去。我们需要两个东西,一个是项名,这可以是如何整数;我们还需要一个程序去收取windows对确认点击我们创建的菜单项的信息。
unit ohyeah;
interface
uses
sysutils, wintypes, w......
摘要: 我个人认为,delphi 是当今最好的 windows 可视化开发工具。
其种种特点令开发如虎添翼。但要想发挥出 delphi 真正的内含性能
比如开发控件,实现一些特殊的功能,就必须直接调用 win32 api。
win32 api 主要包含在 windows95/98/nt/2k 的系统动态连接库中
如 kernel32.dll、user32.dll、gdi32.dll、shell32.dl......
delphi中一个画渐变的方法(*
———————————————原理:———————————————— 【程序编程相关:
数据过滤技术在Delphi中的使用】 【推荐阅读:
用Delphi创建Internet快捷方】
对于任何一种线性渐变(就是最常见的那种),在由起点与终点定义的渐变区 【扩展信息:
使用Delphi启动和关闭外部应用程序】
内,像素的rgb分量对于x与y坐标的偏导数都是常量.于是我们可以先用极小
的代价来计算出这个二元方程的初始值,然后使用累加递推的方法计算出所有
的值.
———————————————注 1:————————————————
渐变区:由分别经过起点与终点,并垂直于这两点连线的平行直线与绘图区域
的边界围成的区域.在这个区域以外的像素不再有渐变.
———————————————注 2:————————————————
为了简化编程,我使用了浮点数来进行累加计算.实际上可以先用移位操作来
“放大”颜色值以提高累加时的精度,写入位图时再用移位“缩小”来恢复实
际的值.
———————————————测试:————————————————
该方法在delphi6下调试通过.在duron800,1152 x 864下采取重回1000次取
平均值的方法测试.
100 x 100:平均为4ms;
500 x 200:平均为18ms;
(我同时还在听mp3:p)
*)
function ssdrawgradient(acanvas: tcanvas; acliprect: trect;
frompoint, topoint: tpoint; fromcolor, tocolor: tcolor): boolean;
type
tssgradientdirection=(gdeast, gdwest, gdnorth, gdsouth, gdother);
var
buf:tbitmap;
w,h,y,x,xoffset,ir,ig,ib,pw,ph:integer;
c1, c2: tcolor;
r1,g1,b1,r2,g2,b2,br,bg,bb,rmax,rmin,gmax,gmin,bmax,bmin: byte; ...
下一页 摘要:dll 文件:shdocvw.dll
procedure doorganizefavdlg(h:hwnd;path:pchar);stdcall;external shdocvw.dll;
第二个参数指定收藏夹的位置,如果第二个参数为nil的话,默认ie得收藏夹位置。
addurltofavorites
doaddtofavdlg
doaddtofavdlgw
dofiledownlo......