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

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

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

窗体样式要为none 
Web坐标才会正确

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

现在还有个问题没有处理

 
 unit Unit1;

 interface

 uses
Windows, Messages, FMX.Platform.Win,
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants,
FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
FMX.Layouts, FMX.Memo; type
TForm1 = class(TForm)
Button1: TButton;
Panel1: TPanel;
Button3: TButton;
Memo1: TMemo;
Timer1: TTimer;
Button4: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
procedure Button3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
procedure Timer1Timer(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
procedure Form2RePosition;
public end; var
Form1: TForm1; implementation {$R *.fmx} uses
UnitX; var
Form2: TForm2; procedure TForm1.FormCreate(Sender: TObject);
begin
Form2 := TForm2.Create(nil);
Form2.WebBrowser1.Navigate('http://w2i.wanmei.com/launcher/index.htm');
Form2.AutoSize := true;
Form2.Show;
end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
Form2RePosition; end; procedure TForm1.FormShow(Sender: TObject);
begin
Form2.Width := Round(Panel1.Width);
Form2.Height := Round(Panel1.Height);
Form2RePosition;
end; procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form2RePosition;
end; procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Visible := not Form2.Visible; end; procedure TForm1.Button3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
ReleaseCapture();
SendMessage(FmxHandleToHwnd(Handle), WM_SYSCOMMAND, SC_MOVE + HTCAPTION, );
end; procedure TForm1.Button4Click(Sender: TObject);
begin
WindowState := TWindowState.wsMinimized;
end; procedure TForm1.Form2RePosition;
begin
if WindowState = TWindowState.wsNormal then
begin
Form2.Left := Round(Form1.Left + Panel1.Position.X);
Form2.Top := Round(Form1.Top + Panel1.Position.Y);
SetWindowPos(Form2.Handle, HWND_TOP, , , , , SWP_NOSIZE + SWP_NOMOVE + SWP_SHOWWINDOW);
end
else
Form2.Visible := false;
Form2.Visible:= (WindowState = TWindowState.wsNormal);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end; end.

FMX unit1

 unit UnitX;

 interface

 uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.OleCtrls, SHDocVw, Vcl.Imaging.jpeg,
Vcl.ExtCtrls; type
TForm2 = class(TForm)
WebBrowser1: TWebBrowser;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form2: TForm2; implementation {$R *.dfm} procedure TForm2.FormCreate(Sender: TObject);
begin
Width:=;
Height:=;
end; procedure TForm2.FormShow(Sender: TObject);
begin
ShowWindow(Application.handle, SW_HIDE);
SetWindowLong(Self.handle, GWL_EXSTYLE, GetWindowLong(Self.handle,
GWL_EXSTYLE) ); // 不在alt+tab中出现
end; end.

VCL unit

FireMonkey 使用Webbrowser的更多相关文章

  1. Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件

    Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件 在FireMonkey iOS应用程序中使用WebBrowser 在iOS平台上,FireMonkey使用T ...

  2. [修正] Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在)

    问题:Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在) 解决:(暂时方法) type TTestFrame = class(TFrame) public const ...

  3. c#如何判断webbrowser已经加载完毕

    最近有个小程序需要采集网页源代码,但有的网页中JS脚本又会生成额外的代码,比如http://www.cnblogs.com/lidabo/p/4169396.html 红框部分便是另外加载的代码. 此 ...

  4. 【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体

    注:本文适用.net 2.0+的winform项目 目的: 点击页面中的target="_blank"链接时,弹出新窗体 页面中有window.close()操作时,关闭窗体 上述 ...

  5. [示例] Firemonkey OnTouch 多点触控应用

    说明:Firemonkey OnTouch 多点触控应用,可同时多指移动多个不同控件 原码下载:[原创]TestMultitouchMove_多点触控应用_by_Aone.zip 运行展示:

  6. [函数] Firemonkey Windows 重新计算 Font Baseline

    计算字型 Baseline 是一个不常用的函数,但如果想要显示不同大小文字下方对齐,就得用它来计算字型的 Baseline 才行,如果计算不准,显示的文字就会高高低低不整齐. 在 Firemonkey ...

  7. WPF 开发 WebBrowser

    WebBrowser WebBrowser 报错如何屏蔽 CEF(Chromium Embedded Framework)       参考 WPF, Chrome Embedded and WebA ...

  8. C# Webbrowser 常用方法及多线程调用

    设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...

  9. C#中的WebBrowser控件的使用

    0.常用方法   Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(st ...

随机推荐

  1. MongoDB实战指南(七):MongoDB复制集之复制集工作机制

    http://www.cnblogs.com/longshiyVip/p/5097336.html 概述了复制集,整体上对复制集有了个概念,但是复制集最重要的功能之——自动故障转移是怎么实现的呢?数据 ...

  2. Motion on Ubuntu

    Motion is a program that monitors the video signal from one or more cameras and is able to detect if ...

  3. char 与 unsigned char的本质区别

    在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同 ...

  4. 用C++ 设计一个不能被继承的类

    http://blog.sina.com.cn/s/blog_69d9bff30100odlz.html 在Java 中定义了关键字final ,被final 修饰的类不能被继承.但在C++ 中没有f ...

  5. 交叉编译 小米路由器mini 的 python(MIPS)

    看了很多文章,要么说的是用opkg安装python,要么说的是小米路由器的交叉编译,就是没有mini的.学习了这篇文章(http://me.deepgully.com/post/56389167868 ...

  6. 【Linux安全】防止 root 用户远程登录

    防止 root 用户远程登录,在终端输入以下命令: vim /etc/ssh/sshd_config 修改如下行为:no PermitRootLogin no 如图所示:

  7. 转载爱哥自定义View系列--Paint详解

    上图是paint中的各种set方法 这些属性大多我们都可以见名知意,很好理解,即便如此,哥还是带大家过一遍逐个剖析其用法,其中会不定穿插各种绘图类比如Canvas.Xfermode.ColorFilt ...

  8. gtest的安装和测试[good]

    一.前言 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例. 二.下载 如果不记得网址, 直接在google里搜gtest,第一个 ...

  9. 应付期间 Payables Periods

    (N) AP > Accounting > Control payables periods Click [Period Status] column to Open.

  10. EF双向一对一中的坑

    EF版本 6.0 在项目中双向一对一关系是普遍存在的,如果不仔细检查,并不容易发现这个坑 下面新建两个类(假设这两个类是一对一的关系)对应实体都设置为可延迟加载 映射关系为: 再建一个数据访问类: 运 ...