AnyLib |
News |
| 新闻 |
2008.11.19.
1. 修正了设计器中保存的一个bug,改bug的表现为:当保存到一个已存在的文件时,会提示是否要覆盖,如果选择否,那么下次再点保存时,就会直接覆盖之前的文件而不提示。
2. 修正设计器中单元格属性对话框中的一个bug,改bug在对话框中点击边框时会出错。
2008.10.30.
1. 修正了ActiveX版本在C++ Builder中安装出现的异常。
2. 在插入数据表的新记录后,如果不在新记录中输入任何内容,那么移动到其他记录时,自动取消该新增加的记录。
3. 导出到Excel时,把小数点考虑在内,保持和单元格中的设置一致。
4. 增加对RAD Studio 2009的支持,另外根据用户的需要推出了C++ Builder 2007的限制版。
2008.10.08.
1. 修正了VCL版本在GridType等于gtInvoice时,有时候滚动会出现刷新不正常的情况。
2. ActiveX版本增加对ADO数据库批处理更新的支持,其AnyGrid1.ADOQuery接口相应的增加了下面属性和方法:
1. SaveToFile
2. LoadFromfile
3. CancelBatch
4. CancelUpdates
5. UpdateBatch
6. BatchOptimistic
7. Filtered
8. Filter
要实现批处理更新功能,需要事先把BatchOptimistic设置为True,然后按正常方法给用户更新记录,更新好之后可以调用CancelBatch对部分或全部记录(此时也可以用CancelUpdates)更新进行取消,也可以调用UpdateBatch对部分或者全部记录更新进行保存到实际的数据库中。比如:
AnyGrid1.ADOQuery.BatchOptimistic=True
...
AnyGrid1.ADOQuery.UpdateBatch(arAll)
3. 修正了在VC2005中无法增加变量的问题。
2008.10.04.
1. 修正了ActiveX版本在打印时会耗费很多内存的问题。
2. Options中增加了agoAutoMerge选项,该选项在TitleRows大于0,并且在连接数据库的情况下,用来决定数据区是否根据第TitleRows-1行的情况自动合并相关单元格。
3. 下载区增加了VC的例子。
2008.09.21.
1. 修正了在VFP中使用时出现黑屏的bug。
2. 对刷新的性能进行优化。
3. Options中增加了agoAutoNextRowCol选项,该选项用来控制对键盘上的四个箭头按键进行单元格焦点移动时,是否在到达最后一个单元格时自动将焦点移动到下一行或列。
2008.09.12.
1. 修正了ActiveX版本中无法触发OnBeforePrintPage的bug。
2. 多选时支持点击鼠标右键。
3. 粘贴时自动跳过只读单元格。
4. 修正有固定行列时,如果合并的单元格跨越了固定的行列区,该单元格有时会出现刷新不正常的bug。
2008.08.17.
1. 修正了在点击滚动条上面的空白位置时,它总是把表格滚动到最顶的问题。
2. 修正了在VCL版本的TAnyPrint的AnyGrid属性值为空时,调用它的ShowReport方法会出错的问题。
2008.07.23.
1. 增加表格滚动时的处理速度。
2. 修正了在设计器中的单元格属性对话框中点击了确定按钮之后直接退出设计器但没有提示“是否应用所做的修改”的bug。
3. 修正了复制Excel单元格中有逗号的文本时,会被分割复制到几个单元格中的问题。
2008.07.14.
1. 按下Shift键点击行标题或列标题时,自动选择一个范围。
2008.07.09.
1. 修正单元格类型为 ctCombo 时不触发 OnAfterEdit 的 bug。
2. 修正设置列的Hint属性时,空单元格不出现 Hint 的问题。
3. 单元格类型为 ctCombo 时,可以用上下箭头选择列表中条目。
2008.06.09.
1. 粘贴Excel的数据时,自动跳过隐藏的行和列。
2. 单元格增加 TabNextRow 和 TabNextCol 属性,用于指定下一个跳转单元格。
3. 修正LoadFromFile的一个跟DefaultRowHeight有关的小问题(该问题不会引起错误,只是有些行的高度不正确)。
4. 修正OnBeforeEnterCell事件被不正常调用的问题。
5. 修正DesignCells方法在ActiveX版本中无法使用的问题。
6. 增加SetFocusCell(Row,Col)方法,用于把指定单元格设置为当前单元格(如果使用Row和Col属性来设置,需要设置两次)。
2008.06.01.
1. 修正表格中既有ComboBox,又有SpinEdit类型的单元格存在时,会使ComboBox类型的单元格自动调整高度而不出现滚动条的问题。
2008.05.28.
1. 按下键盘的四个方向键时,采用和回车键类似的焦点移动方式。
2008.05.27.
1. 增加 OnDrawTitle 事件。
2008.05.26.
1. 优化了 MoveDirEnter 的行为,比如当 MoveDirEnter 等于 mdRight ,并且当前单元格位于最后一列时,按下 Enter 键后,焦点自动移到下一行。
2. 修正了单元格的 ValueType 等于 vtPercent 时,它和 Digits 属性的关系。
3. 当单元格处于编辑状态时,按下鼠标中键不再自动退出编辑状态。
4. 修正了上一版本引起的在打印时 [PAGE#] 和 [TOTALPAGES] 关键字不起作用的 bug。
2008.05.25.
1. 竖排文本中冒号 : 倒置输出。
2. 竖排文本中空格输出占用空间大小为VerticalTextSpace加1。
3. 表格列的AutoWidth方法中,把标题行考虑在内。
4. 解决了数字类单元格无法输入公式的问题。
5. 解决了数字类单元格总是显示千分位的问题。
6. 表格增加了 UnitType 属性,用来决定表格的行高,列宽等长度的单位,可选项有三种:utPixel,utMillimeter,utInch,分别代表像素,毫米,英寸。
7. 表格增加了 PhyLeftMargin、PhyTopMargin、PhyRightMargin、PhyBottomMargin 四个属性,分别和 LeftMargin、TopMargin、RightMargin、BottomMargin 四个属性对应,只是它们以 UnitType 属性中指定的单位来设置表格的边距。
8. 表格增加了 PhyRowHeight 属性(ActiveX版本中为GetPhyRowHeight,SetPhyRowHeight两个读写的方法),它用表格的 UnitType 属性中指定的单位来设置行的高度。
9. 列增加了 PhyWidth 属性,它用表格的 UnitType 属性中指定的单位来设置列的宽度。
10. Options集合中增加agoShowSizeInfo元素(ActiveX版本中增加了 ShowSizeInfo 属性),它用来决定是否在拉动行高或者列宽时,在一个类似Excel的提示框中显示行高或者列宽的信息。
11. 单元格和列的 ValueType 增加了 vtPercent,vtChineseCurrency,vtChineseLongCurr,vtChineseShortCurr,vtChineseDate 五种类型值。
12. 增加了 OnDrawGridBackground 事件,在绘制背景的时候被触发。
13. 增加了 OnDrawGridForeground 事件,在绘制前景的时候被触发。
14. 增加了 OnPrintFinish 事件,在打印结束,或者打印预览结束时被触发。
15. 增加了 OnGetRecordCount,OnPrintRecord 事件,表格在连接数据库的记录时,一次只能打印一条记录的数据,如果有了这两个事件,你就可以同时打印全部记录的数据(比如你的表格给用户看到的只是一个部门的信息,但是在打印时却想把所有部门的信息都打印出来)。它的工作原理是,先在 OnGetRecordCount 事件中返回部门的总数(返回在该事件的 RecordCount 参数中),然后表格自动调用 RecordCount 次 OnPrintRecord 事件,在该事件中你只要根据事件中的 RecordIndex 参数来相应的改变表格显示的记录即可,比如 RecordIndex 是 0 的时候,你就让表格显示第一个部门的信息,是 1 时就让表格显示第二个部门的信息,如此类推,这样,表格在打印时就会把所有部门的信息都打印出来了,另外你可能还需要在 OnPrintFinish 事件中恢复表格的内容为打印之前的数据。下面的代码实现了同时打印三个表格的数据:
procedure TForm1.AnyPrint1GetRecordCount(Sender: TObject; var RecordCount: Integer);
begin
RecordCount:=3;
end;
procedure TForm1.AnyPrint1PrintRecord(Sender: TObject; RecordIndex: Integer);
begin
case RecordIndex of
0: AnyGrid1.LoadFromFile('c:\1.ald');
1: AnyGrid1.LoadFromFile('c:\2.ald');
2: AnyGrid1.LoadFromFile('c:\3.ald');
end;
end;
procedure TForm1.AnyPrint1PrintFinish(Sender: TObject);
begin
AnyGrid1.LoadFromFile('c:\1.ald');
end;
16. 表格增加了 XmmToPixel 方法,用于将水平方向的毫米转换为像素。
17. 表格增加了 YmmToPixel 方法,用于将垂直方向的毫米转换为像素。
18. 表格增加了 XInchToPixel 方法,用于将水平方向的英寸转换为像素。
19. 表格增加了 YInchToPixel 方法,用于将垂直方向的英寸转换为像素。
20. 表格增加了 PixelToXmm 方法,用于将像素转换为水平方向的毫米。
21. 表格增加了 PixelToYmm 方法,用于将像素转换为垂直方向的毫米。
22. 表格增加了 PixelToXInch 方法,用于将像素转换为水平方向的英寸。
23. 表格增加了 PixelToYInch 方法,用于将像素转换为垂直方向的英寸。
2008.05.14.
1. 单元格和列增加了VerticalTextSpace属性,当单元格的VerticalText属性值为True时,VerticalTextSpace用于决定字间距。
2. 单元格的PrintCurrencyLine属性为False时,按原来的文字位置输出数字,只是不打印货币线(上一版本虽然也不打印货币线,但是文本被当做普通数值输出了,这样不利于套打)。
2008.05.13.
1. 单元格和列增加了PrintCurrencyLine属性,当该属性为False时,如果单元格的ValueType为vtCurrency,那么单元格的货币分隔线将不会被打印。
2. 修正了ActiveX版本在VFP中打印时,某些事件(如OnGetCellData,OnGetText事件)不会被触发的bug。
3. 修正了设计器中无法打开、保存文件的bug。
2008.05.12.
1. 在打印预览窗口中,加入鼠标滚轮的翻页功能,另外跳转页面输入框中只能输入数字。
2. 在打印预览窗口中,解决了切换打印页时的刷新闪烁问题。
3. 单元格和列增加了Printable属性,当该属性为False时,相应的单元格将不会被打印输出。
4. 竖排文本的输出采用类似Excel的效果,强化了输出好看性。
5. 列增加了AutoWidth方法,可用于自动调整列宽,另外在列的分隔线上双击鼠标,也会自动调整列宽。
2008.05.09.
1. 修正无法操纵unicode文件名的问题(包括保存,打开,插入图片,插入OLE等)。
2. 修正和数据库同步更新问题。
3. 单元格的ValueType为vtFloat,vtInteger等数值类型时,空文本不会被转换成 0.00 或者 0 之类的值。
2008.05.08.
1. 修正由于字体引起的单元格提示无法正确显示unicode文本的错误。
2008.05.07.
1. 针对用户提出的意见,对单元格显示提示做了改进,由原来的鼠标进入小三角型才出现提示,改为进入右上角即提示。
2. 修正不能正确导入(直接写文件的方式)由Excel本身生成的文件的bug。
2008.05.06.
1. Options集合属性增加了agoShowHintSymbol和agoQuickShowHint两个元素(ActiveX版本为ShowHintSymbol和QuickShowHint两个属性)。agoShowHintSymbol用于决定在设置了Hint属性值的单元格的右上角是否显示类似Excel样式的小三角型,agoQuickShowHint用于决定是在鼠标移动到小三角上时才显示提示,还是一进入单元格即显示提示。
2008.05.04.
1. 单元格的Hint属性值已经支持导入、导出Excel,它和Excel的备注相对应。
2. 在通过直接写文件而不是VBA的导出方式下,单元格的图片也能正确导出。
3. 修正ValueType等于vtCurrency时打印不正确的bug。
4. 增加了分别调出单元格和列的格式设置对话框的方法: CellSetting,ColumnSetting。
5. 设计器属性面版中的属性值输入和单元格的提示(Hint)也已经支持Unicode。
2008.04.29.
1. 修正导入一些特殊格式的Excel单元格的bug。
2. 增加了OnImportCell事件,该事件在导入Excel的每个单元格时被触发,在这个事件中你可以根据实际情况改变导入的Excel单元格内容(如果发现导入的内容不是你想要的格式,就可以用这个事件)。
3. 增加了OnExportCell事件,该事件在导出表格的单元格内容到Excel时,并且该单元格的文本内容为数值类型的时候被触发,你可以在该事件中决定是以字符串类型的值,还是以数值类型的值导出到Excel中,比如单元格的内容为: 001,如果你希望导出到Excel的是文本类型的001,而不是1,那么就可以使用这个事件来改变输出结果。
2008.04.28.
1. 打印预览中增加了跳转页面功能。
2. 修正导出unicode文本到Excel中出现乱码的bug。
3. 表格排序时,默认按照本地计算机设置的排序方式进行排序。
2008.04.17.
1. 修正AutoHeight的一个bug,该bug在修改了默认行高属性DefaultRowHeight之后产生。
2. 进入编辑状态时,编辑框自动引用单元格的水平对齐方式。
3. 如果单元格的WordWrap、AutoHeight和VerticalText属性都不为True,那么进入编辑状态时,光标自动定位于鼠标下的文字后面。
4. 修改了滚动条的滑块大小,使其根据表格的大小自动调整,方便拉动。
5. 增加OnPrintCell事件,该事件可用于在打印时实现每页小计。方法是设置TAnyPrint的FooterRows(ActiveX版本为设置ReportFooterRows)为1,
我们假如要在表格的第4列上进行合计,那么使用下面的通用代码即可实现每页合计:
//Delphi例子
procedure TForm1.AnyPrint1PrintCell(Sender: TObject; const CellArea: TRect);
begin
with CellArea do
PrintPageSum(Left,Top,Right,Bottom,3);//第四列上进行合计
end;
procedure TForm1.PrintPageSum(Left, Top, Right, Bottom: integer; Col_Sum:integer);
var
i,Total:integer;
begin
if (Col_Sum>=Left) and (Col_Sum<=Right) then //判断要合计的列是否出现在打印范围之内
begin
if Bottom < AnyGrid1.Rows-1 then //最后的合计行不可以出现在打印范围之内
begin
Total:=0;
for i:=Top to Bottom do
Inc(Total,StrToIntDef(AnyGrid1.Cells(i,Col_Sum).Text,0));
AnyGrid1.Cells(AnyGrid1.Rows-1,Col_Sum).Text:=IntToStr(Total); //把合计写在合计行里
end;
end;
end;
'VB例子
Public Sub PrintPageSum(Left As Long, Top As Long, Right As Long, Bottom As Long, Col_Sum As Long)
Dim i, Total As Integer
If (Col_Sum >= Left) And (Col_Sum <= Right) Then '判断要合计的列是否出现在打印范围之内
If Bottom < AnyGrid1.Rows - 1 Then '最后的合计行不可以出现在打印范围之内
Total = 0
For i = Top To Bottom
If AnyGrid1.Cells(i, Col_Sum).Text <> "" Then
Total = Total + CInt(AnyGrid1.Cells(i, Col_Sum).Text)
End If
Next i
AnyGrid1.Cells(AnyGrid1.Rows - 1, Col_Sum).Text = Total '把合计写在合计行里
End If
End If
End Sub
Private Sub AnyGrid1_OnPrintCell(ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long)
PrintPageSum Left, Top, Right, Bottom, 3
End Sub
2008.04.02.
1. 连接数据库时,Boolean 类型的字段禁止显示 True 或者 False 文字。
2. 修改了单元格AutoHeight属性的启用时间,原来一设置AutoHeight就立即起作用,但是由于 AutoHeight 是很费时的操作,所以现在改为在该单元格需要绘制时,才会让AutoHeight起作用,这样就大大提高了响应时间。
3. 表格增加了 CalAutoHeight 方法,由于现在AutoHeight在绘制才起作用,所以有些单元格没被滚动出来之前,它所在行的高度还是原来的高度,并没有使用自动行高,因此在打印的时候就会有问题,比如某一行的高度根据AutoHeight来计算它应该是50,但由于没被绘制过,也就是说AutoHeight还没起作用,所以它的行高还是30,这样打印时就会按照30来打印。为了解决这个问题,特意增加了 CalAutoHeight 方法来重新计算所有行的行高,该方法需要在调用ShowReport之前被调用,当然,如果你的表格行列数很多,就会很耗时,因此,只有你确实需要的时候,才应该调用它。
4. 修正了单元格的DirectInput属性的Bug。
2008.03.24.
1. 修正在 Windows XP 下插入内嵌控件的刷新问题。
2. PasteFromClipBoard方法加入一个参数:OnlyCopyText,如果传入为 True,则只拷贝文本,不拷贝格式,默认为 False。
3. 单元格自动换行现在支持上下居中。
4. 单元格的CellType属性加入ctMemo类型。
5. 现在支持Excel的日期和时间值的导入。
6. 修正连接数据库进行排序时,布尔型字段显示不正确的bug。
2008.01.23.
1. 修正在 Delphi 2007 下的bug。
2008.01.21.
1. 修正合并单元格的bug。
2. 关联数据库时,默认使用列的对齐方式,而不是字段的对齐方式。
2008.01.20.
1. 单元格和列加入缩放字体填充 ShrinkToFit 属性。
2. FontAngle和AutoHeight属性可同时起作用。
3. 解决在预览中表格外边框宽度为3时,只显示一部分线的问题。
4. 现在一些常用的公式可以正确导入、导出到Excel了。
5. 限制版增加了Delphi 2005,2006,2007 版本。
2008.01.05.
1. 修正在某些计算机上会导致设计器中的单元格格式设置对话框的边线出现偏移的问题。
2008.01.02.
1. 修正隐藏列时在设计器中的bug。
2. 增加About等版本信息。
3. 设计器中为单元格和列增加了类似Excel的格式设置对话框。
4. 帮助中增加了搜索功能。
5. 修正了类似:1234567890123456 这样的纯数字的内容导出到Excel时,Excel会把它看做是数值并且对它进行四舍五入的问题。
6. 单元格的WordWrap等于True时,也支持居中显示。
7. 表格增加TitleLineColor属性,用于设置标题栏的分隔线。
8. 为单元格和列增加了FontAngle属性,用于文本的旋转。
2007.12.15.
1. 修正从Excel 2003 中复制问题。
2. 为表格增加了 MoveDirEnter 属性。用来决定当按下回车键时,是否要移动到下一个单元格,以及移动的方向。
3. VCL版本的Options增加了agoSelAllOnEdit选项,ActiveX版本则增加了SelAllOnEdit属性,它们用来决定在进入编辑模式时,是否让文本处于全选状态。
4. 增加了OnShowEditor事件,该事件在进入编辑模式后被触发。
2007.11.26.
1. 为表格增加了agoAutoSelectRow和agoAutoSelectCol 选项,可用于控制是否在点击标题头的时候自动选择整行或整列。
2. 为表格增加了GetRowAutoHeight方法,在手工设置行高时,可用于计算行的高度。
3. 为表格增加了OnGetCellData事件,用于动态设置单元格的各项属性。如:
procedure TForm1.AnyGrid1GetCellData(Sender: TObject; Row, Col: Integer;
CellData: TCellData);
begin
if (Row=1) and (Col=2) then
begin
CellData.BackColor:=clRed;
CellData.FontColor:=clWhite;
CellData.HorAlignment:=taRightJustify;
end;
end;
不过对单元格边框的设置就要留意了,因为一个边框可能同属于两个单元格,如一个单元格的上边框同时也是它上面单元格的下边框,所以设置了上边框,也要对上面单元格的下边框做同样设置,如:
procedure TForm1.AnyGrid1GetCellData(Sender: TObject; Row, Col: Integer;
CellData: TCellData);
begin
if (Row=1) and (Col=2) then
CellData.TopFrame:=True
else if (Row=0) and (Col=2) then
CellData.BottomFrame:=True;
end;
4. 修正及改进了一些功能
2007.10.29.
1. 为表格增加了VertScrollTracking 属性。当它等于True时,拉动垂直方向的滚动条时,表格马上跟着滚动,否则要等到鼠标键释放之后,表格才会滚动。
2. 为表格增加了HorzScrollTracking 属性。当它等于True时,拉动水平方向的滚动条时,表格马上跟着滚动,否则要等到鼠标键释放之后,表格才会滚动。
3. 修正了单元格的CellType等于ctRichEdit时,AutoHeight属性有时不正常的问题。
2007.10.06. Anylib 升级到 6.0。
主要更新:
1. 加入期待已久的缩放打印功能。
2. 为打印加入PrintGridLine属性,当等于False时,将不打印网格线(配合ColorPrinter属性即可实现套打功能)。
3. 加入FocusColor属性,用户可自定义焦点的背景色。
4. 加入TileBackGround属性,用于决定是否平铺表格背景图。
5. 加入LockBackGround属性,只适用于GridType等于gtGrid和gtExcel的表格,用于锁定表格背景图,即表格滚动时,背景图不滚动。
6. 将列和单元格的TitleGraphic属性名改为TileGraphic。
7. 和数据库关联时,默认取字段的DisplayLabel作为列的标题。
8. 和数据库关联时,表格默认不显示隐藏的字段。
现在Anylib已经支持简单的套打功能,只需要做下列工作即可:
1. 设置ColorPrinter(TAnyPrint)的值等于False。
2. 设置PrintGridLine(TAnyPrint)的值等于False。
另外,配合OnGetPageBreak事件,就可以实现批量套打。
2007.06.19.
1. 修正了ActiveX版本中无法显示Unicode字符的问题。
2. 修改了AutoHeight的行为,对被合并的单元格(NeedDraw为False)而言,设置AutoHeight将不再起作用。
2007.06.06.
1. 修正了一个Windows DC 资源溢出Bug。
2. 修正了表格在滚动时,固定行列的最后一条线被覆盖的问题。
2007.05.28.
1. 修正了导出主从表的一个Bug。
2007.05.05.
1. 修正了AutoHeight属性的一个Bug。
2007.04.28.
1. 点击表格的行头时,将选择整行,也可以在行头上拖动选择多行。
2. 点击表格的列头时,将选择整列,也可以在列头上拖动选择多列。
3. 修正单元格的AutoHeight属性的行为,单元格的宽度或者高度为0时,AutoHeight属性将被忽略。
4. 修正了在连接数据库时,如果正处于编辑状态,则无法读取正在输入的单元格数据的Bug。
5. 在VCL版本中加入了对数据库字段的OnGetText事件的支持。
2007.03.30.
1. 表格增加了CurrencySeparatorColor属性,指定货币分割线的颜色。
2. 表格增加了TitleColor属性,指定左边行号和上边标题的背景色。
3. 表格增加了TitleWidth和TitleHeight属性,分别指定左边行号标题的宽度和上边标题的高度。
2007.03.23.
1. 为单元格的 ValueType 属性增加一项: vtCurrency,当 ValueType 等于 vtCurrency 时,该单元格将以中国式货币格式来显示,每个位之间用分割线间隔。
2. 表格增加了CurrencySymbol属性,指定货币符号。用于在显示货币类型的单元格内容时,在最前面显示该货币符号。
3. 表格增加了CurrencyDecimalSeparatorColor属性,指定货币小数位分割线的颜色。
4. 表格增加了CurrencyThousandSeparatorColor属性,指定货币千分位分割线的颜色。
5. 表格增加了CurrencyCellWidth属性,指定货币分隔线的间隔。
6. 表格增加了CurrencyDigits属性,指定货币的小数位数。
7. 表格增加了OnBeforeColumnWidthChange事件,用于决定某列的大小是否可以被拉动。
8. 表格增加了OnBeforeRowHeightChange事件,用于决定某行的大小是否可以被拉动。
2007.03.05.
1. ActiveX版本增加了一个LoadFromURL方法,用于从URL中加载表格内容。
2007.02.05.
1. 修正公式中的一个Bug。
2. 表格增加了IsFormulaText方法,用于判断单元格的文本是否是公式。
2007.01.08.
1. 当单元格类型是组合框类型时,原来按上、下方向键会切换列表中的值,现在改为移动焦点至上、下单元格。
2. Shift+Tab 键用于左移单元格。
3. Shift+方向键用于多选单元格。
2006.12.17.
1.增加了 ExportHiddenRow 和 ExportHiddenCol 属性,分别用来控制是否导出隐藏的行和列。
2006.12.15.
1.报表增加了 DirectToPrinter 属性,当它为 True 时,报表直接被输出到打印机上,并且网格线变细,否则报表首先输出到图元文件,然后再把图元文件输出到打印机。
2.在公式中,如果空值只和数值类型的数据进行计算,则空值被当作 0 来处理。
3.修正了从文件加载数据时的一个小Bug(报表部分)。
4.Demo 中增加了一个制作复杂报表的例子,用到了快速格式拷贝(SaveCellsToStream,LoadCellsFromStream,ActiveX中用SaveCellsToFile,LoadCellsFromFile)。
2006.11.27.
1.修正设置列的Graphic属性值出现的错误。
2.设计器中不再需要按回车键对属性值的改变进去确认。
3.支持ICO图标文件。
4.改进生成临时文件的方法。
2006.11.17.
1.修正了在单元格上直接按Delete键没有触发OnChange事件的问题。
2.修正了在agoMultiSelect(ActiveX中为MultiSelect)为False的情况下,agoAlwaysShowEditor(ActiveX中为AlwaysShowEditor)为True不起作用的问题。
3.修正了agoAlwaysShowEditor(ActiveX中为AlwaysShowEditor)为True,并且在单元格无边线的情况下,单元格退出编辑模式后会留有边线的问题。
2006.11.09.
1.内部的按钮改为平面模式。
2.从 AnyGrids.pas 文件中去掉宽字符集版本的 Pos 函数的声明,使其只能被 Anylib 内部使用,以免和 Delphi/BCB 本身的 Pos 函数混淆。
2006.10.26.
1.ActiveX 版本加入了 ShortDateFormat 和 DateSeparator 属性,用于定义日期的格式,这两个属性和 Windows 的控制面板中的日期格式设置相对应。
2.修正了支持unicode字符串后出现的排序和分组错误。
2006.10.16.
1.如果单元格只有一个字符 = ,或者以 '= 开头,那么该文本被看成是普通文本,而不是公式,并且 '= 会被显示成 =。
2.Anylib 已经支持unicode文本,一个单元格中可以混合输入/显示日文、韩文、越南文及中文等多国语言文字。但该功能在VCL版本下需要用户下载
TNTWare 组件包(免费并且开放源代码),然后将Anylib.inc文件中的{$DEFINE TNTComponent}编译选项打开。
3.由于新版本的 Anylib 已经支持 unicode 文本,所以老版本中的 string 数据类型在新版本中已经被更改为 WideString 类型,所以 VCL 版本的用户更新到 5.37 版本时,可能需要更改一部分你的现有源代码。比如你之前设置了 TAnyGrid 的 OnGetText 事件,那么就需要手工把窗体源代码中 OnGetText 事件中的 string 类型的参数更改为WideString 类型。
2006.09.26.
1.以更好的质量打印输出图像。
2006.09.19.
1.修正了单元格的TrimZero方法。
2006.09.15.
1.增加了RefreshFormula方法。
2.VCL版本的Options增加了agoAutoCalFormula元素,当Options包含agoAutoCalFormula时,表格会在单元格内容发生变动时,自动计算表格中的公式值,否则必须手动调用RefreshFormula方法。
3.ActiveX版本增加了AutoCalFormula属性,该属性为True时,表格会在单元格内容发生变动时,自动计算表格中的公式值,否则必须手动调用RefreshFormula方法。
4.相应的更新了设计器。
2006.08.08.
1.修正保存单元格公式值的Bug(在公式返回值是字符串类型的情况下发生)。
2006.07.24.
1.修正了表格的最后一行打印底线出不来的Bug(有些情况下发生)。
2.修正在没有安装打印机的电脑上调出设计器会报错的Bug。
2006.07.21.
1.公式中增加了AVG取平均值函数。
2.设计器中增加了报表设置功能,同时ActiveX版本中的报表设置属性页被移除。
3.修正“页面设置”无法保存的Bug。
4.修正其它一些Bug。
2006.07.19.
1.表格增加了IncludeHiddenData属性。
2.连接数据库时,表格默认自动根据数据集的字段数来设置合适的列数,并且自动设置列的FieldName属性,除非你对表格的列布局进行了改动。
3.设计器增加了“页面设置”功能。
4.公式中支持 Above 关键字,便于在表尾区做合计,如在表格最后一行上的某个单元格里设置公式:Sum(Above),则表示合计本列所有单元格的值。
2006.07.18.
1.表格增加了ColumnByName方法。
2006.07.17.
1.修正了计算公式的一个Bug。
2.修正了数据库更新的一个Bug。
3.修正了删除最后一条数据库记录后,表格无焦点的问题。
2006.07.15.
1.修正ActiveX版本中无法调出设计器的Bug。
2006.07.14.
1.增强的设计器。
2.修正Group的bug。
3.把列对象的Tag属性改为字符串类型。
2006.07.12.
1.公式已经支持字符串类型的值。
2006.07.11.
1.增加了OnGetAlignment事件。
2.增加了OnGetReadOnly事件。
3.增加了TopRow,BottomRow,LeftCol,RightCol 属性。
4.增加了 OnLeftTopChange 事件。
5.完善了帮助文档。
2006.07.06.
1.修正处理WMF类型图形文件的Bug,使WMF中的文字输出不产生挤压。
2.为单元格和列对象增加了TrimZero属性,当它为True时,单元格将自动把小数点尾部0去掉。
2006.06.28.
1.修正ActiveX版本的一处Bug。
2.为ActiveX版本的IGraphic对象加入了Clear方法。
3.修正了设计器中Options的某些选项没保存的Bug。
2006.06.25. Anylib 5.0 隆重推出!。
主要新功能:
1. 支持双数据源。实现单记录的布局和主从表的连接。
2. 为打印增加了TitleColumns和FooterColumns属性,作为水平方向的表头和表尾。
3. 修正了导入/导出的一些问题。
2006.05.26.
修正了重复打开数据库引起的 Bug ,
该 Bug 会引起速度变慢。
2006.05.23.
修正了 ActiveX 版本
在 Delphi 中的 Bug ,该 Bug 有时会导致在 "Property" 属性窗口中修改的属性值得不到保存。
2006.05.20.
1.修正单元格的 PasswordChar 属性的Bug。
2.修正设计器中输入非法属性值会引起程序退出的Bug。
3.设计器中的属性面版增加了显示当前单元格或列的功能。
2006.05.13.
1.为ActiveX版本增加了导入\导出的 OnImportExportProgress 事件。
2.导出时自动将全彩色转换成Excel支持的最接近颜色。
3.修正了某些 Excel 文件无法导入的问题。
4.增强设计器中对RTF文本的支持,增加或修正了对RichEdit类的单元格中的RTF文本的字体颜色,背景色,段落对齐的支持。
2006.05.12.
1.增加Foxpro和VB的示例。
2006.05.11.
1.类 Delphi7 的设计器属性面版,缺省属性被修改后,以粗字体显示。
2006.05.10.
1.设计器中可以同时设置多列的属性。
2.改进了设计器中属性面版的显示效果。
3.增加了一个制作复杂表头的例子。
2006.05.06.
1.为Options集合属性增加了多个实用元素。
2.列和单元格增加了ValueChecked和ValueUnChecked属性。
3.增加导出图片功能。
4.Excel和表格可以相互粘贴了
5.修正一处和数据库相关的Bug。
6.数据库的记录移动时,表格自动移动滚动条。
7.Ctrl+F 快捷键可调出查找对话框。
2006.04.20.
1.修改AutoShowBlobField的定义。
2.设计器中增加AutoShowBlobField属性。
3.Blob字段的列不能进入编辑。
2006.04.19.
1.修正无法显示某些Blob字段数据的Bug。
2.增强的设计器。
3.修正内存泄露。
2006.04.18.
1.修正过滤的Bug。
2.在设计器中设置列的FieldName时,如果没有事先选择某一列,则出提示。
3.优化部分代码
2006.04.17.
1.改进连接数据库的速度。
2.修正设计器中某些新属性不保存的Bug。
2006.04.13. Anylib 4.0 隆重推出!。
主要新功能:
1. 支持数据库。
2. 支持多级分组。
3. 设置打印页的栏数。
4. 增加OnGetPageBreak事件,用于实现分页符功能。
5. 设置背景图。
6. 增加OnDrawCellColor事件,在这个事件中,可以很容易实现交叉底色的行,具体看帮助。
2005.12.31. 为RTF类单元格的编辑框增加快捷菜单
。
2005.12.30. 增加或更新以下功能:
1. 设计器中增加了显示分页线的按钮和菜单。
2. 表格增加了SaveBookmark和RestoreBookmark方法,用于保存和恢复滚动条的位置。
3. 表格增加了DefaultRowHeight和DefaultColWidth属性,用于设置默认行高和列宽。
2005.12.29.
1. 表格增加了ShowPagesLine属性,设置为True时,表格将显示蓝颜色的分页线(但VCL版本的表格必须有一个TAnyPrint和它相连,该设置才会有效)。
注意:设置了ShowPagesLine为true后,将会影响速度,所以不宜多用。
2. 修正了RTF类型的单元格的AutoHeight属性的Bug
2005.12.28. 增加或更新以下功能:
1. RTF类型的单元格现在支持AutoHeight属性,即设置单元格的AutoHeight属性为True后,单元格就会根据RTF文本的高度自动调整行高
2. VCL版本的TAnyPrint和ActiveX版本的表格增加了HorzSpaceToBreak和VertSpaceToBreak属性。
当打印表格时,如果某行出现了跨页的情况,并且它的上一行距离底边的像素值大于VertSpaceToBreak的话,该行就会被截断,即被打印在两页纸张中,用户可以根据实际把VertSpaceToBreak的值调大点,以避免出现该情况。HorzSpaceToBreak和VertSpaceToBreak相似,它用于水平方向,用来避免列被截断。
2005.12.27. 修正打印图像的一个Bug。
2005.12.06. 增加或更新以下功能:
1. 增加对 PageDown,PageUp,Home,End 按键的支持。
2. RTF类型的单元格支持上下箭头,Home 等按键。
3. CheckBox 类型的单元格可用 Enter 键来切换状态。
4. RadioButton 类型的单元格可用上下箭头键来选择不同的项。
5. 表格设计器中去掉了“应用更新”菜单的快捷键 Ctrl+A。
2005.12.05. 更新导入导出功能,默认使用 VBA 方式。
2005.10.26. 更正了下列 Bug :
1. 打印 Grid 风格的表格的列标题时,没按列标题的字体打印。
2. 部分版本的 Windows 下,设置了 PasswordChar 的单元格不能正常工作。
2005.10.19. Anylib 3.0 隆重推出!
主要更新:
1. 虚表
2. 支持图表(专门方便 ActiveX 版本而加入的)
3. 增加列对象,通过列对象可设置某列所有单元格的共有属性。比如我们想设置第一列所有单元格的对齐方式为左对齐,以前的做法是一个一个单元格的去设置 HorAlignment 属性,在新版本中,只需要设置对应列的 HorAlignment 的值即可。
4. 采用压缩存储空间的方法来保存单元格的数据,这样不仅可以使单元格所占内存减少一半,而且第一次写单元格的速度也快了一倍。我们用 Delphi 来做测试,原来的 AnyLib 第一写 30*2000 的单元格需要 300 毫秒,第二次写需要 100 毫秒,新版本的 AnyLib 第一次写只需要 150 毫秒,第二次写需要 90 毫秒。
5. 针对 VFP 处理接口慢的情况,新版 AnyLib 直接输出了 GetCellText 和 SetCellText 方法,分别用于读写单元格的文本,这样可以加快几十倍的速度。
6. 类似 Excel 的过滤功能。
7. 打印增加了 FooterRows 属性,该属性和 TitleRows 相对应,用于在每页中打印表格的最后几行。
8. 为 Mask 属性增加了编辑器。
9. 在表格设计器中增加了列属性编辑器。
9. 为表格设计器增加了菜单。
10. 更正了属性编辑器的 Bug,并将对象的属性进行分类。
11. 更正了表格设计器的几个 Bug。
12. 更正了 AnyGrid 中发现的 Bug。
13. 表格增加了许多方法和事件。
14. 完善了帮助文档,增加了索引。
15. 增加和更新了 Demo 。
2005.09.07. 加快了ActiveX版本的载入速度。
2005.09.02. 正式版增加了 DisablePrint 属性,为 True 时,打印预览窗体的打印按钮将变灰(不可用),这样方便用户制作共享性质的软件(只有在你的用户注册了你的软件之后,才可以打印)。
2005.08.27. 正式版的打印预览窗体中增加了放大镜按钮。
2005.08.23. 屏蔽了在 ActiveX 版本的表格单元格里单击鼠标右键出现的错误提示。
2005.08.23. 修正了 Visual Foxpro下 不能正常使用的 Bug。
| AnyLib
Team |
|