
谷歌搜索解决方案时我发现了这个:
From Here,然后我想,如果我在窗体上绘制图像(OnPaint)然后设置AlphaBlend ON,我可以实现这个效果但是没有成功,当整个窗体是透明的时,主要的效果是没有实现,没有bg pic背后的备忘录.
我想要实现的效果:(在photoshop中完成)
这可能吗?如果是,怎么样? (我不要求任何人提供完整的src代码,只要文章或小例子,如果可能,或方向,不管我能理解的方式)
thnx注意.
我找到了解决方案,在带有图像背景的表单上创建了Alphablended表单,然后在添加的表单上添加备忘录并将其与客户端对齐,而不是最好的方式,但它工作正常:
procedure TForm1.button1Click(Sender: TObject);var MM : TMyMemo; frm : TForm;begin frm := TForm.Create(Form1); frm.borderStyle := bsNone; frm.AlphaBlend := true; frm.AlphaBlendValue := 150; frm.left := Form1.left + 90; frm.top := Form1.top + 90; frm.WIDth := 300; frm.Height := 300; frm.position := podesigned; frm.Visible := true; MM := TMyMemo.Create(frm); MM.Parent := frm; MM.borderStyle := bsNone; MM.Parentcolor := False; MM.Align := alClIEnt; MM.color := clBlack; MM.Font.color := clWhite; MM.Font.name := 'Sylfaen'; MM.Font.Size := 11; MM.Visible := True; frme := True;end;
但还有另外一个问题,当我按下备忘录时,背景形式失去焦点,当我将新形式的父亲设置为Form1时,上面的问题解决但透明效果消失了(窗口仍然是透明的,但你可以通过bg窗口看到没有可见背景)我该如何解决这个问题?
解决方法 我认为这个问题经常被问到(也许不在这里,但我之前已经多次看过).奇怪的是,答案几乎永远不会出现,尽管它存在,隐藏在讨论这个问题的所有人中间.也许这里的问题将有助于改善未来的搜索过程,仅仅因为它是stackoverflow 总结以上是内存溢出为你收集整理的delphi – VCL组件不透明度/透明度全部内容,希望文章能够帮你解决delphi – VCL组件不透明度/透明度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)