08月16, 2012

Phi中使用DFM文件

Delphi中有将窗体持续化的函数

  • ObjectBinaryToText: 将二进制object流转换为文本格式
  • ObjectResourceToText:将Windows资源对象流转换为文本格式
  • ObjectTextToBinary:将文本格式对象流转换为二进制格式
  • ObjectTextToResource:将文本格式对象流转换为Windows资源格式

Phi中可以加载一个DFM文件,然后动态创建DFM对应的窗体。这样就不用手工敲代码创建了。只不过DFM只能包含Phi中的控件。

图一

太帅了,用VCL做界面,Ruby写逻辑,Exerb打包,可以很快做出方便实用的带界面的小工具了。

查看Phi中包含的组件。这些控件可以使用:

irb(main):001:0> require "phi"
=> true
irb(main):002:0> Phi.constants.select{|c|Phi.const_get(c).class==Class}
=>
UpDown,Action,Memo,PopupMenu,ByteArray,ComboBox,Bevel,PaintBox,ControlBar,TreeView,
ScrollBox,ToolBar,CheckBox,ListColumn,Printer,Graphic,ScrollBar,MaskEdit,Splitter,Application,
CustomizeDlg,ValueListEditor,RadioButton,IconOptions,LabeledEdit,TabSheet,Persistent,
StringStream,HeaderControl,GroupBox,SizeConstraints,Brush,StaticText,ActionManager,
ListBox,ListView,CollectionItem,BoundLabel,ComboBoxEx,RadioGroup,ToolButton,WinControl,
DdeClientItem,Screen,CheckListBox,DelphiError,StringList,Panel,Pen,PageScroller,Collection,
DdeServerConv,DelphiAbort,Label,BitBtn,CoolBar,DragObject,TabControl,Animate,ApplicationEvents,
Form,Frame,IOHook,DdeServerItem,Button,ProgressBar,BasicAction,ListItem,SpeedButton,
HotKey,DragDockObject,TypeInfo,MainMenu,DateTime,Indexer,StringGrid,ActionToolBar,Edit,
TrackBar,DataModule,CustomGrid,DdeClientConv,Rect,Canvas,PageControl,Thread,
ControlScrollBar,ContainedAction,Strings,ColorBox,Image,Metafile,ActionMainMenuBar,
RichEdit,MenuItem,DrawGrid,FileStream,Component,ImageList,MetafileCanvas,ActionList,
TreeNode,TypeData,Bitmap,MemoryStream,Control,Menu,TreeNodes,Clipboard,Point,Icon,
Stream,ListItems,Size,Font,StatusBar,PropInfo,Picture,ListColumns,TextAttributes,Shape,Timer

本文链接:http://aztack.wang/post/using-dfm-in-phi.html

-- EOF--

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。