怎样才能做出不规则控件,紧急求助!(100分)

  • 主题发起人 主题发起人 kuangwenwei
  • 开始时间 开始时间
K

kuangwenwei

Unregistered / Unconfirmed
GUEST, unregistred user!
想做一个不规则的控件,如Image,在Image中加载了一张不规则的图片,其中一个角没有,这个角的颜色为白色,我现在想做一个没有白色这个角的不规则控件.或第三方控件也行
 
关键是你的“不规则的图片”把哪些区域定义为“空”
如果你有明确的几何定义方法,那么可以使用“区域/路径”API集来实现的。
 
把你那个不规则的图片做成图标 再使用“区域/路径”api
 
范例:
TUnregularCtrl = class(TCustomControl)
protected
procedure Paint;
override;
end;
procedure TUnregularCtrl.Paint;
var
Region: HRGN;
begin
begin
Path(Canvas.Handle);
SetBKMode(Canvas.Handle, TRANSPARENT);
...此处绘制图形
EndPath(Canvas.Handle);
Region := PathToRegion(Canvas.Handle);
SetWindowRgn(Handle, Region, True);
end;
 

Similar threads

后退
顶部