VCL+FMX 双剑合壁编程

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官网网站,文章发现问题可能随时更新,最新版本请访问:VCL+FMX 双剑合壁编程http://blog.qdac.cc/?p=2423

QDAC 开源数据库访问组件欢迎大家关注讨论和使用 官网(博客):VCL+FMX 双剑合壁编程http://www.qdac.cc ;讨论QQ群:250530692 贴吧:VCL+FMX 双剑合壁编程http://tieba.baidu.com/f?kw=qdac2.0版地址:https://sourceforge.net/projects/qdac3.0版地址:VCL+FMX 双剑合壁编程http://sourceforge.net/p/qdac3

参考:http://bbs.2ccc.com/topic.asp?topicid=480037

你可能感兴趣的:(编程)