FireMonkey 使用Webbrowser

DELPHI XE5 源码PASCAL:http://files.cnblogs.com/xe2011/FireMonkey_Webbrowser.rar

为了这个用上webbrowser真是费太大劲了

要让窗体2位置和窗体1的PANEL坐标一致

窗体样式要为none

Web坐标才会正确

但是fire monkey没有webbrowser控件 这个费了好长时间搞成这样了

现在还有个问题没有处理

  1 unit Unit1;
2
3 interface
4
5 uses
6 Windows, Messages, FMX.Platform.Win,
7 System.SysUtils, System.Types, System.UITypes, System.Classes,
8 System.Variants,
9 FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
10 FMX.Layouts, FMX.Memo;
11
12 type
13 TForm1 = class(TForm)
14 Button1: TButton;
15 Panel1: TPanel;
16 Button3: TButton;
17 Memo1: TMemo;
18 Timer1: TTimer;
19 Button4: TButton;
20 Button2: TButton;
21 procedure FormCreate(Sender: TObject);
22 procedure Button1Click(Sender: TObject);
23
24 procedure FormShow(Sender: TObject);
25 procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
26 Shift: TShiftState; X, Y: Single);
27 procedure Button3MouseDown(Sender: TObject; Button: TMouseButton;
28 Shift: TShiftState; X, Y: Single);
29 procedure Timer1Timer(Sender: TObject);
30 procedure Button4Click(Sender: TObject);
31 procedure Button2Click(Sender: TObject);
32 private
33 { Private declarations }
34 procedure Form2RePosition;
35 public
36
37 end;
38
39 var
40 Form1: TForm1;
41
42 implementation
43
44 {$R *.fmx}
45
46 uses
47 UnitX;
48
49 var
50 Form2: TForm2;
51
52 procedure TForm1.FormCreate(Sender: TObject);
53 begin
54 Form2 := TForm2.Create(nil);
55 Form2.WebBrowser1.Navigate(‘http://w2i.wanmei.com/launcher/index.htm‘);
56 Form2.AutoSize := true;
57 Form2.Show;
58 end;
59
60 procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
61 Shift: TShiftState; X, Y: Single);
62 begin
63 Form2RePosition;
64
65 end;
66
67 procedure TForm1.FormShow(Sender: TObject);
68 begin
69 Form2.Width := Round(Panel1.Width);
70 Form2.Height := Round(Panel1.Height);
71 Form2RePosition;
72 end;
73
74 procedure TForm1.Timer1Timer(Sender: TObject);
75 begin
76 Form2RePosition;
77 end;
78
79 procedure TForm1.Button2Click(Sender: TObject);
80 begin
81 Form2.Visible := not Form2.Visible;
82
83 end;
84
85 procedure TForm1.Button3MouseDown(Sender: TObject; Button: TMouseButton;
86 Shift: TShiftState; X, Y: Single);
87 begin
88 ReleaseCapture();
89 SendMessage(FmxHandleToHwnd(Handle), WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
90 end;
91
92 procedure TForm1.Button4Click(Sender: TObject);
93 begin
94 WindowState := TWindowState.wsMinimized;
95 end;
96
97 procedure TForm1.Form2RePosition;
98 begin
99 if WindowState = TWindowState.wsNormal then
100 begin
101 Form2.Left := Round(Form1.Left + Panel1.Position.X);
102 Form2.Top := Round(Form1.Top + Panel1.Position.Y);
103 SetWindowPos(Form2.Handle, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE + SWP_SHOWWINDOW);
104 end
105 else
106 Form2.Visible := false;
107 Form2.Visible:= (WindowState = TWindowState.wsNormal);
108 end;
109
110 procedure TForm1.Button1Click(Sender: TObject);
111 begin
112 close;
113 end;
114
115 end.

FMX unit1

 1 unit UnitX;
2
3 interface
4
5 uses
6 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
7 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.OleCtrls, SHDocVw, Vcl.Imaging.jpeg,
8 Vcl.ExtCtrls;
9
10 type
11 TForm2 = class(TForm)
12 WebBrowser1: TWebBrowser;
13 Timer1: TTimer;
14 procedure FormCreate(Sender: TObject);
15 procedure FormShow(Sender: TObject);
16 private
17 { Private declarations }
18 public
19 { Public declarations }
20 end;
21
22 var
23 Form2: TForm2;
24
25 implementation
26
27 {$R *.dfm}
28
29 procedure TForm2.FormCreate(Sender: TObject);
30 begin
31 Width:=518;
32 Height:=221;
33 end;
34
35 procedure TForm2.FormShow(Sender: TObject);
36 begin
37 ShowWindow(Application.handle, SW_HIDE);
38 SetWindowLong(Self.handle, GWL_EXSTYLE, GetWindowLong(Self.handle,
39 GWL_EXSTYLE) ); // 不在alt+tab中出现
40 end;
41
42 end.

VCL unit

FireMonkey 使用Webbrowser

时间: 2024-10-21 21:41:00

FireMonkey 使用Webbrowser的相关文章

Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法(通过COM来改造)

刚有一段时间没做博客了,今天刚好有人问了这个问题,而自己以前也弄过,于是这里有了一篇新的博文. 关于改造WebBrowser控件的一些技巧,大家可以参考MSDN或者蒋晟写的一个东西,里面有讲的很详细的,今天我就说一下这个alter对话框的修改和过滤的方法: 很简单,只要咱们继承IDocHostShowUI这个接口,实现里面的ShowMessage方法就行了. 废话不多说,代码在这里: DelphiCode: unit Unit2; interface uses Windows, Messages

FireMonkey 源码学习(5)

(5)UpdateCharRec 该函数的源码分析如下: procedure TTextLayoutNG.UpdateCharRec(const ACanvas: TCanvas; NeedBitmap: Boolean; var NewRec: PCharRec; HasItem: Boolean; const CharDic: TCharDic; const AFont: TFont; const Ch: UCS4Char; const NeedPath: Boolean = False);

firemonkey ListView DynamicAppearance

Go Up to FireMonkey Application Design Contents [hide] 1 Customizing the List View Appearance Properties 1.1 Footer properties 1.2 Header properties 1.3 List item properties 1.4 Edited list item properties 1.5 How to Modify List View Appearance Prope

C# WebBrowser控件使用整理

一.简介 WebBrowser 控件为 WebBrowser ActiveX 控件提供了托管包装. 托管包装使您可以在 Windows 窗体客户端应用程序中显示网页. 使用WebBrowser 控件,可以复制应用程序中的 Internet Explorer Web 浏览功能,还可以禁用默认的 Internet Explorer 功能,并将该控件用作简单的 HTML 文档查看器. 此外,可以使用该控件将基于 DHTML 的用户界面元素添加到窗体中,还可以隐瞒这些元素在 WebBrowser 控件中

Getting Text Metrics in Firemonkey(delphiscience的博客)

Firemonkey’s abstract TCanvas class has been providing the dimensions of the bounding rectangle of some text on itself. On recent updates it has deprecated providing text rectangle directly in the canvas, in stead encouraged users to use TTextLayout

Winform使用外部浏览器解决webbrowser问题

对于还是一个菜鸟的我,在最近自己接手了个项目,搞的自己也是醉了,身边也有没大神的现场指导,只能靠度娘和谷歌的大力帮助,要不然这么个小项目可定现在还交不了,不过在这过程种也确确实实学到了不少东西,我先说说在winform中嵌入浏览器的问题.在winform嵌入浏览器,其实winform中有自己的控件-----WebBrowser控件,对于这个控件的使用,大家可以点击WebBrowser查看很详细的介绍以及使用方法,但是我想说的使用这个控件传递参数或是使用ip访问我是不会的,要是大家有会的,还请告知

Firemonkey 自定义Button的Style

这篇文章模仿HTML中基于CSS的Button,通过Style实现自定义样式的Button. 前言 主要模仿的CSS代码如下: CSS Code 123456789101112131415161718192021222324252627   a.button{    text-align:center;    display:block;    width:50px;    color:#fff;    text-decoration:none;    font-weight:700;    l

c#winform使用WebBrowser 大全

C# WinForm WebBrowser (一) MSDN资料 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源.必须在附加事件的同一线程上调用 Dispose 方法,该线程应始终是消息或用户界面 (UI) 线程. 3.WebBrowser 使用下面的成员可以将控件导航到特定 URL.在导航历史记录列表中向后和向前移动,还可以加载当前用户的主页和搜索页: 1.URL属性:可读

C#中的WebBrowser控件的使用

0.常用方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders): 浏览urlString表示的网址,并发送postData中的消息 //(通常我们登录一个网站的时候就会把用户名和密码作为postData