
VCL 是经典,FMX 是新生,新生事物总会带来一些好玩新奇的东西。舍弃经典是浪费,不了解新生事物是等死,那么我们来一个二合一双剑合壁又如何呢?
要双剑合壁,就得投些机,取些巧。由于 Delphi / C++ Builder 不支持直接创建一个 VCL+FMX 的合体应用,所以我们要分别创建一个 VCL 和 FMX 的应用程序,其中一个我们做为主窗口。
好了, 我们先创建一个新的 VCL 工程,命名为 vclprj,然后在其上放置一个按钮.
接下来,我们再添加个空白的 FMX 工程,命名为 fmxprj,然后,我们在新打开的 FMX 窗体上随便放点啥,这里我放了一个 TLabel,然后旋转了45°,然后随便添加了一个TFloatAnimation。
好了,我们切回 vclprj,然后双击按钮,然后在 implementation 部分写入 uses FMX窗体所在单元,我的是 unit4.pas,所以就是 uses unit4;
接下来就象正常的编码一样,直接创建窗体并显示出来就好了。
var
FmxAppWnd:HWND=0;
procedure HideFMXAppWnd;
begin
if FmxAppWnd=0 then
FmxAppWnd:=Winapi.Windows.FindWindow('TFMAppClass',nil);
if (FmxAppWnd<>0) and (Winapi.Windows.IsWindowVisible(FmxAppWnd)) then
ShowWindow(FmxAppWnd,SW_HIDE);
end;
procedure TForm3.Button1Click(Sender: TObject);
var
F:TForm4;
begin
F:=TForm4.Create(nil);
HideFMXAppWnd;
F.ShowModal;
F.DisposeOf;
end;
好了,现在我们编译运行 vclprj,点击按钮看看:
怎么样,效果还是蛮炫的吧。
转载自QDAC官网网站,文章发现问题可能随时更新,最新版本请访问:http://blog.qdac.cc/?p=2423
QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):http://www.qdac.cc;讨论QQ群:250530692 贴吧:
http://tieba.baidu.com/f?kw=qdac2.0版地址:https://sourceforge.net/projects/qdac3.0版地址:
http://sourceforge.net/p/qdac3
参考:http://bbs.2ccc.com/topic.asp?topicid=480037