delphi – 将多个标签设置为透明到1000个表单?
发布时间:2020-12-15 10:08:36 所属栏目:大数据 来源:网络整理
导读:我用Devexpress打破了我的软件,我发现标签是不透明的,因为它们有灰色的背景. 只有无休止的形式,所以我想知道是否有一种方法来做这个任务(将标签设置为透明)自动. 我以前做过类似的事情,表单上的Devexpress控件有LookAndFeel.NativeStyle = True,我使用Grep S
我用Devexpress打破了我的软件,我发现标签是不透明的,因为它们有灰色的背景.
只有无休止的形式,所以我想知道是否有一种方法来做这个任务(将标签设置为透明)自动. 我以前做过类似的事情,表单上的Devexpress控件有LookAndFeel.NativeStyle = True,我使用Grep Search将其替换为所有dfm表单上的False.然而,在标签的情况下,透明属性不存在. 谢谢. 解决方法
全局屏幕变量跟踪所有窗体:
procedure MakeLabelsTransparent(AParent: TWinControl); var I: Integer; begin with AParent do for I := 0 to ControlCount - 1 do if Controls[I] is TLabel then TLabel(Controls[I]).Transparent := True else if Controls[I] is TWinControl then MakeLabelsTransparent(TWinControl(Controls[I])); end; procedure TMainForm.ActiveFormChange(Sender: TObject); begin with Screen do if (ActiveCustomForm <> nil) and (ActiveCustomForm.Tag = 0) then begin MakeLabelsTransparent(ActiveCustomForm); ActiveCustomForm.Tag := 1; end; end; procedure TMainForm.FormCreate(Sender: TObject); begin Screen.OnActiveFormChange := ActiveFormChange; end; 如果您必须使用特定表单的Tag属性,那么请忽略此检查:它的确不会太慢. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |