一个小问题,关于控件的透明 ( 积分: 100 )

  • 主题发起人 主题发起人 dongliang110
  • 开始时间 开始时间
D

dongliang110

Unregistered / Unconfirmed
GUEST, unregistred user!
我在修改TdxCustomFlowChart控件时,想将些控件的的背景改成透明的,
TdxCustomFlowChart= class(TCustomControl)
我在Create方法中向ControlStyle中增加[csOpaque],可是我在调试时,没有加进去。不知什么。ControlStyle里原来有这些
[csCaptureMouse,csClickEvents,csSetCaption,csDoubleClicks]

constructor TdxCustomFlowChart.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle + [csOpaque];// 我加的,
ControlStyle := ControlStyle - [csCaptureMouse];
 
我在修改TdxCustomFlowChart控件时,想将些控件的的背景改成透明的,
TdxCustomFlowChart= class(TCustomControl)
我在Create方法中向ControlStyle中增加[csOpaque],可是我在调试时,没有加进去。不知什么。ControlStyle里原来有这些
[csCaptureMouse,csClickEvents,csSetCaption,csDoubleClicks]

constructor TdxCustomFlowChart.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle + [csOpaque];// 我加的,
ControlStyle := ControlStyle - [csCaptureMouse];
 
TdxCustomFlowChart?!什么控件,TDelphiX控件吗?从哪继承下来滴?
 
TdxCustomFlowChart是DevPress公司开发的一个用于流程绘制的控件
你试着把
ControlStyle := ControlStyle - [csCaptureMouse];去掉看看
 
应该加上这个。
procedure CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
if (CsDesigning in ComponentState) then exit;
with Params do
begin
ExStyle:=ExStyle or WS_EX_TRANSPARENT;
end;
end;
 
ControlStyle := ControlStyle + [csOpaque];// 我加的,
正常是没问题。不过也可以用INCLUDE试试,

inherited Create(AOwner);
ControlStyle := [csSetCaption, csOpaque, csDoubleClicks];
// ControlStyle 定义控件的风格特性, 有如下值:
{
csAcceptsControls 成为设计期放在其上的所有控件的父类。TPanel的制定类就是这样声明的。
csCaptureMouse 当控件被点击时捕捉其事件。
csDesignInteractive 设计期,控件映射右键点击为左击来操作控件。
csClickEvents 控件能接收及响应鼠标事件。
csFramed 控件有个3D框架。TEdit就是这个样子。
csSetCaption 如果控件的标题没有明确定义,应匹配Name属性。
csOpaque 控件完全填充其客户区矩型。想做不规则形状的东东吗,这个不能不知道呀。
csDoubleClicks 控件能接收及响应鼠标双击事件。否则映射双击为左击。
csFixedWidth 控件宽度固定。
csFixedHeight 控件高度固定。
csNoDesignVisible 控件设计期不可见。
csReplicatable 控件能通过PaintTo方法拷贝其image到任意画布。TShape,TPaintBox,TImage,TBevel等都是这样的。

csNoStdEvents 标准事件如 mouse, key, 和 click 事件都被忽略。当没必要响应这些事件时,这个标识能使程序运行得更快。
csDisplayDragImage 哥呀,我译不了了。If some control that has an associated drag image list is dragged across a control with this setting, then the image list is used to enhance the drag cursor while the cursor is over it. Otherwise, the drag cursor is used on its own.
csReflector 控件响应窗体对话框消息, 焦点消息, 或大小改变消息. 如果控件能被作为一个ActiveX控件就用这个设置, 这样它就能接收这些事件的通知。

csActionClient 控件连接一个action对象.当Action属性被设置时这个属性被设置,当Action属性被清空时它被清除。
csMenuEvents 控件响应系统菜单命令。
TControl 析构中初始化 ControlStyle 为 [csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks].
}
 
谢谢各位,我再试试看看
 
后退
顶部