摘要:
看看 Delphi XE2 为 VCL 提供的 14 种样式其实只提供了 13 个 vsf 样式文件, 还有默认的 Windows 样式, 共 14 种.在空白窗体上添加 ListBox1 等控件, 测试代码:uses IOUtils, Vcl.Styles, vcl.Themes;procedure TForm1.FormCreate(Sender: TObject);var dir, fileName, styleName: string;begin //VCL 的样式文件 *.vsf 在 X:\Program Files\Embarcadero\RAD Studio\9.0\Redist 阅读全文
摘要:
FireMonkey 绘图(1)FMX 的 Canvas 在不同的系统上会分别使用:WinVista、Win7: D2D (FMX.Canvas.D2D.pas)WinXP: GDI+ (FMX.Canvas.GDIP.pas)Mac 系列: Core Graphics (FMX.Canvas.Mac.pas)和 HTML5 中的 Canvas 非常类似, 现在的 Canvas 模糊了 Pen 的概念:之前的 Canvas.Pen 对应: Canvas.Stroke;之前的 Canvas.Brush 对应: Canvas.Fill.在 FMX 中, Canvas 无处不在, 其 Canvas. 阅读全文
摘要:
终于, Delphi XE2 携带 GDI+ 库了使用了较早的 http://www.progdigy.comuses Winapi.GDIPAPI, Winapi.GDIPOBJ{, Winapi.GDIPUTIL};procedure TForm1.FormPaint(Sender: TObject);var graphics: TGPGraphics; pen: TGPPen;begin graphics := TGPGraphics.Create(Canvas.Handle); pen := TGPPen.Create(MakeColor(255,0,0)); graphics.Dra 阅读全文
摘要:
关于禁止程序重复启动的另一种需要与实现手头的程序需要禁止重复启动, 但需要保留新的、关闭旧的.我想还是从主窗口的类名下手吧; 写了一个函数, 在 OnCreate 中调用即可:{ 函数 }procedure CloseSameClassNameWindow(ACurrentWindow: HWND; const AClassName: string);var h: HWND; buf: array[0..255] of Char;begin h := ACurrentWindow; while h > 0 do begin h := GetWindow(h, GW_HWNDNEXT); 阅读全文
摘要:
Delphi XE2 新增 System.Zip 单元, 可用一句话压缩整个文件夹了单元内主要就是 TZipFile 类, 最方便使用的是它的类方法:TZipFile.ExtractZipFile() //解压 Zip 文件到指定文件夹TZipFile.IsValid() //判断指定文件是否是有效的 Zip 文件TZipFile.ZipDirectoryContents() //压缩指定路径下的所有文件测试:uses System.Zip;{ 把 C:\Temp\TestDir 下的所有文件压缩到 C:\Temp\Test.zip }procedure TForm1.But... 阅读全文
摘要:
Delphi XE2 之 FireMonkey 入门(45Finally) - 结题与问题很喜欢 FMX 的一些新控件, 如: TExpander、TArcDial、TComboTrackBar、TPathLabel 等等, 没时间继续学习了.对 FMX 的整体感觉: 还不成熟, 但肯定有前景; 它的构架师有远见、了不起, 很难估计他开启的是多大一扇门!本将继续学习:1、TCanvas、TBrush、TApplication;2、FMX 中的 GDI+、D2D、DirectX;3、FMX 3D;4、XE2 中新增的其他内容(譬如新增的 TZipFile 类, 已测试过、下帖附上).又要忙其它事 阅读全文
摘要:
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItemTScrollBox -> TCustomTreeView -> TTreeView 子项类型是 TTreeViewItem.测试, 先在窗体上放一个 TTreeView, 并需要它的 OnChange 事件:unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Control 阅读全文
摘要:
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGridTStringGrid、TGrid 都是从 TCustomGrid 继承; 区别有:1、它们的列对象分别是: TStringColumn、TColumn;2、TStringGrid 比 TGrid 多出了 Cells[] 属性.因为 TGrid 没有 Cells[] 属性, 暂时不方便使用; 我尝试取其当前单元值时竟然用了这样的代码:(Grid1.Columns[Grid1.ColumnIndex].CellControlByRow(Grid1.Selected) as TTextC 阅读全文
摘要:
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEditTListBox 有两个兄弟 TComboListBox、TComboEditListBox;TComboBox、TComboEdit 虽不是不是从它们继承, 但分别包含了它们, 所以使用起来都有点像 TListBox.TComboBox 更像 TListBox, 比 TComboEdit 多出了 Selected 等成员;TComboEdit 是从 TCustomEdit 继承, 和 TEdit 是兄弟, 比 TComboBox 多出了 Text 等成员. 它们的公共常用属性 阅读全文
摘要:
Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBoxTScrollBox -> TCustomListBox -> TListBox; 其元素项是 TListBoxItem 类型.TListBox 的功能在 TCustomListBox 里就完成了.值得注意的变化是: 1、复选框(相关属性: ShowCheckboxes、TListBoxItem.IsChecked)2、交替背景(通过继承还可以调整交替的背景色)3、TListBoxItem 可调整大小、容纳其它对象.{ TCustomListBox }public constructor 阅读全文