我有一个带有背景图像的表单(在Form1.Repaint中的表单上绘制).
我在寻找:一个透明的图像控件,可以平滑地调整(重新采样)加载的图像.
(我需要它是透明的,因为表格背景图像应该是可见的)
我尝试过的:
标准TImage:它是透明的,但不会重新取样.
Graphics32/Image32:重新采样精美,但不透明.
我已经用谷歌搜索了几个小时来修复或解决方法,但没有太多的解决方案.这与加载到Image32中的图像是透明的无关,而是控件的背景颜色仍然是白色(白色= Image32控件的颜色属性,并将其设置为clNone不起作用).这显然是按照设计的
GR32ex(GR32扩展组件包),据说可以添加一个Transparent-property,但多年来它还没有更新,我无法安装它.它在Delphi 2010和Graphics32 v.1.9上引发了大量错误.
任何人都可以想到解决方案或解决方法吗?我想要的只是一个具有透明度和重新采样的控件.
谢谢!
我需要一个总是放大的TWebBrowser(~140%)并将所有链接保存在同一个webbrowser中(即_BLANK链接应该在同一个浏览器控件中打开).
我已将FEATURE_BROWSER_EMULATION注册表设置为9999,因此使用IE9呈现网页.我已经确认这是有效的.此外,我正在使用IE9全新安装Windows 7运行已编译的程序,通过Windows Update完全更新.
缩放:
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
ZoomFac: OLEVariant;
begin
ZoomFac := 140;
WebBrowser1.ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, ZoomFac);
end;
Run Code Online (Sandbox Code Playgroud)
这非常有效.
在同一浏览器控件中打开新窗口:
默认情况下,当TWebBrowser遇到要在新窗口中打开的链接集时,会打开一个新的IE.我需要它留在我的程序/ webbrowser中.
我在这里尝试了很多东西.这对我有用:
procedure TFormWeb.WebBrowser1NewWindow3(ASender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool; dwFlags: Cardinal;
const bstrUrlContext, bstrUrl: WideString);
begin
Cancel := True;
WebBrowser1.Navigate(bstrUrl);
end;
Run Code Online (Sandbox Code Playgroud)
我取消了新窗口,而只是导航到同一个URL.
互联网上各种页面上的其他来源表明我不会取消,而是将ppDisp设置为各种各样的东西,例如WebBrowser1.DefaultDispath或者WebBrowser1.Application它们的变体.这对我不起作用.当我单击_BLANK链接时,没有任何反应.这是在两台计算机(Win7和IE9)上测试的.我不知道为什么它不起作用,因为这似乎适用于互联网上的其他人.也许这会解决问题?
当我结合这两段代码时,它会破坏!
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://wbm.dk/test.htm');
// This is a test page, that I created. It just …Run Code Online (Sandbox Code Playgroud)