由shape控件得到Rgn(2000/11/21 三金 版权所有
2008-04-09 04:28:11来源:互联网 阅读 ()
由shape控件得到Rgn(2000/11/21 三金 版权所有
如有问题,请参考VCL库shape组件源代码
function GetShapeRgn(shape:TShape):HRgn;
var
X, Y, W, H, S: Integer;
ret:HRgn;
begin
result:=0;
X :=shape.left shape.Pen.Width div 2;
Y :=shape.top shape.Pen.Width div 2 ;
W :=shape.Width- shape.Pen.Width 1;
H :=shape.Height-shape.Pen.Width 1;
if shape.Pen.Width = 0 then
begin
Dec(W);
Dec(H);
end;
if W < H then S := W else S := H;
if shape.Shape in [stSquare, stRoundSquare, stCircle] then
begin
Inc(X, (W - S) div 2); //得到新的X值
Inc(Y, (H - S) div 2); //得到新的Y值
W := S;
H := S;
end;
case shape.Shape of
stRectangle, stSquare:
begin
ret:=CreateRectRgn(X, Y, X W, Y H);
if ret=null then
result:=0
else
result:=ret;
end;
stRoundRect, stRoundSquare:
begin
ret:=CreateRoundRectRgn(X, Y, X W, Y H, S div 4, S div 4);
if ret=null then
result:=0
else
result:=ret;
end;
stCircle, stEllipse:
begin
ret:=CreateEllipticRgn(X, Y, X W, Y H);
if ret=null then
result:=0
else
result:=ret;
end;
end;
end;
更好更多文章尽在三金主页-天铭心草堂 http://vip.6to23.com/tianmingxin
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash