B6与CB2007的区别汇总

B6与CB2007的区别汇总

BCB6.0里的TChart是在Additional页次里,版本4.0。功能较少。 
在BCB2007中,TChart为单独一个页次,其中包括多个控件,版本7.0,功能齐全。 
theLibra12 
ToolBar CoolBar都多了一个Gradient属性,可以设置渐变色。 
TForm也多了一个GlassFrame属性,在Vista下可以显示成玻璃效果。 
zdhsoft 
BCB2007的dbx支持mysql5.0,以及其它最新的主流数据库版本,BCB6则只能支持mysql 3.x 
ADO也有变化了,支持MDAC2.8 
i_love_pc 
1.C++Builder 2007终于为C/C++开发人员带来了内建的C/C++ 测试驱动开发(TDD)的功能。 
2.C++Builder 2007提供了VCL For Web For C/C++,这意谓C/C++的开发人员也终于拥有了最棒的Web 2.0/Ajax架框。 
3.C++Builder 2007中CodeGear开始为C/C++加入Together的功能。 
4.C++Builder 2007还有许多的改善,编译器和连结器都更新了,速度更快也更标准。 
5.C++Builder 2007加入了FastMM和FastRTL以及最新的VCL架框。 

6 发现Compile Unit变成了Build Unit,而且多了一个Clean Project 

7 新的组件: 
TTaskDialog-封装新的 TaskDialogIndirect API 
TFileOpenDialog-封装新的 IFileOpenDialog interface 
TFileSaveDialog-封装新的 IFileSaveDialog interface 
新的特性: 
TCustomForm.GlassFrame 
允许在窗体的客户区加入扩充的 "glass " window frame. 
为了在glass中加入控件, 窗体和控件的DoubleBuffered 特性必须设定为 True. 
新的功能: 
TaskMessageDlg 
功能和MessageDlg类似, 只多了一个参数, “main instruction”. 如果这个函式在非Vista OS上被呼叫, 就会转而呼叫MessageDlg 
新的全域变数: 
UseLatestCommonDialogs 
如果设定为True就会导致 

TOpenDialog, TSaveDialog, TOpenPictureDialog*, TSavePictureDialog* 和 MessageDlg的呼叫转而如果设定为Vista上对应的API (如果应用程序是执行在Vista). 
如果设定为False, 就和以前这些组件的行为一致. 
Windows API: 
UxThemes – 新API 
DwnApi –新API 
ActiveX – 更新到Vista 
Windows –更新到Vista 
Messages –更新到Vista 
CommCtrl –更新到Vista 
ShlObj -更新到Vista 

zzhong2 

Borland C++ Builder 2006里的TDBGrid 可以响应鼠标滚轮事件,并一直滚到最后一条记录 
Borland C++ Builder 6 里的TDBGrid 也可以响应鼠标滚轮事件,但只能滚到TDBGrid当前显示的最后一条记录,超出显示范围的记录不能滚到,也就是不能把超出显示范围的记录滚出来. 

songhtao 

有个VistaDialog 

liskman 

注意在C++Builder2006中多了SafeArrayCopy().所以在使用Data属性时有些变化了。 

托盘图标控件变化比较大,TrayIcon 
Indy由于版本不一样,变化也非常大。呵呵 

C++Builder6程序向导在Multitier页有CORBA程序向导,生成CORBA程序很方便(尽管是BOA,不是POA)。 
C++Builder2006没有CORBA程序向导,没有CORBA知识的话,写服务实现类有点麻烦了。 
C++Builder6的WebService可以为Apache写dll(Apache Shared Module)(尽管只支持Apache1.3); 
C++Builder2006不行,只能写ISAPI/NSAPI和CGI。 

Waiting4you 

多国语言到哪里加偶都没找着:-( 
TLabel是加了一个属性: EllipsisPosition, 用于字串太长放不下时的显示方式, 可取值: 
epNone, 不加省略号 
epPathEllipsis, 如果字符串里含有反斜扛,尽可能地保留最后一个反斜杠之后的正文 
epEndEllipsis, 加在后面 
epWordEllipsis 截短不符合矩形的正文,省略号加在后面,和前面的区别目前还没看出来:-P 
TImage 确实支持gif了,开始偶搞了半天发现加载gif动画它不动,以为它就这样了呢,后来在gifimg.hpp里发现个TGIFImage类(帮助系统里没找到?!), 图片载入之后调用如下就可以让它动了: 
TGIFImage *gif=(TGIFImage *)(Image1-> Picture-> Graphic); 
gif-> AnimationSpeed=1000; //这个数字好像越大速度越快,具体情况还不清楚 
gif-> Animate=true; 
ICO的偶还没试,不过2006就已经可以了,估计应该没问题 

To liskman 

应该是多了个SafeArrayCheck,可能是个OLE Check宏. 感谢,写得很详细. 
TTrayIcon的确变了很多,少了很多属性,可以用TrayIcon1-> ShowBalloonHint();来让它气泡显示. 
好像是没找到生成Apache的DLL的方法,不知道是不是没发现? 

constantine 

TTrayIcon其实在2006就改了,以前bcb6有这个控件,是用c++写的 
即使d7里面都没有这个控件,要自己写。到了2006就直接用pascal重写了这个控件。 
gif那个是跟“以后再说”封装的类是,必须要这样调用才行,不知道还有谁记得他。 
插到richedit里面那么动不动也跟richedit没有关系,记得好像是这样。 
ICO好像最多还是只支持256色,而且只支持单图标。 
多国语言在project--languages里面,而且还有一个翻译管理的菜单。 
不过我怎么用都觉得不是很爽。就是以前的会产生一些垃圾,现在的不清除。项目不敢移植过去。 

exe编译现在直接设置DEBUG/RELEASE 这个倒是方便多了。 

Application-> MainFormOnTaskBar = true 修改这个看看,然后用鼠标右键点击任务栏的按钮,看看弹出菜单, 代码在工程文件里面。 

问:Application-> MainFormOnTaskBar起什么作用的? 

答:你没用鼠标右键点一下看看弹出菜单吗,一个显示的是application,一个显示的是Mainform。以前版本显示的是application,所以菜单跟标准的不一样,所以用bcb,delphi做的软件一下就给人呢知道,比如foxmail。现在添加了这个后可以把mainform显示在任务栏,他的弹出菜单就跟标准的一样了。vc是没有application这个窗体的。 

Javpp 

照样不支持Unicode, 支持Loki了吧. 集成了Together, 不过不能通过together生成类框架 编译速度和编译后文件的执行速度有了很大提高 

在工程的CPP里多了一行 
SetApplicationMainFormOnTaskBar(Application, true); 
这样的话, 在任务栏里显示的标题就是主窗口的标题了, 但是调出来的showMessage等系统对话框的标题仍然是Application的标题。。。 
如果将参数true改为false, 或将这句去掉, 就和原来一样了。 任务栏显示的就是Application 的标题了 

try 

Application-> Initialize(); 
//SetApplicationMainFormOnTaskBar(Application, true); 
Application-> CreateForm(__classid(TForm2), &Form2); 
Application-> Run(); 

通过控制参数, 可以控制任务栏里显示的标题, 但系统对话框的标题仍然是Application的标题, 即使通过 Application-> MainFormOnTaskBar = true; 

Code Insight 比CB6速度快多了, Delay的速度可以设置None. 

菜单[Application]/[Option]里C++ Compiler选项里Output里,Build Configuration可以设置Base, Debug, Release三种选项, 可以选择Release发布模式, 不用象CB6里需要设置好几个地方了。 
Waiting4you 
to Javpp: 
Loki在BCB6的时候就已经支持了,Loki里有一个专门为Borland C++做的文件夹,Unicode看来是要看2008版的了:) 
很多控件都支持了渐变色,不过TCanvas好像还是没有封装GradientFill的API, 好在找到一个叫GradientFillCanvas的新函数,原型如下: 
GradientFillCanvas(TCanvas ACanvasconst, TColor AStartColorconst, TColor AEndColorconst, TRect ARectconst, TGradientDirection Directionconst); 
用它比用API方便得多了. 

aniven 

TForm 
GlassFrame : 玻璃效果,可设定上下左右的透明效果的宽度,也可以指定SheetOfGlass使整个窗体有玻璃效果 
Padding : 设定窗体的边界宽度,有点像BorderWidth,但不同的是Padding设定的边界内是可以放置控件的,只是影响了其他控件的对齐边界。 
ScreenSnap : 磁性窗体 
SnapBuffer : 磁性吸附的像素范围 
另外还有一个属性需要说明: PixelsPerInch以前在BCB6里改动无效果,在2007里可以实现控件的缩放了。 
TButton 
Align : 对其方式,终于可以和其他控件一样设置对齐方式了 
AlignWithMargins : 参考Margins 
Margins : 对齐时的边界宽度,比如设置Margins.Top为50,当Align=alClient或alTop时将在上方有50像素的间隔,当然前提是必须设定AlignWithMargins为True。 
WordWarp : 使按钮中的文本可以换行显示 
TToolBar 
Margins,AlignWithMargins : 同上 
AllowTextButtons : 允许Style=tbsTextButton的ToolButton,看不出有什么分别 
(TToolButton增加了tbsTextButton的Style) 
DrawingStyle,GradientDirection,GradientDrawingOptions,GradientStartColor,GradientEndColor 
很诱人哦,可以制作和BDS一样的界面,顾名思义是渐变色的设置,首先必须设置DrawingStyle为dsGradient,GradientDirection是渐变方向(横或纵),然后就是颜色了 
TPanel 
Locked : 这是BCB6中就有的,不属于新属性 
ParentBackground : 和父控件相同的背景,相当于透明Transparent,因为XP中有些控件包含渐变色,比如PageControl等... 
Padding,Margins,AlignWithMargins : 同上 
VerticalAlignment : 设置Caption的对齐,以前只有Alignment,只能设置水平方式的左中右,现在这个属性可以设置垂直方向的上中下 
TCheckBox,TRadioButton 等TWinControl都增加了WordWrap属性,可多行显示Caption,这个好. 
另外,所有的容器控件都设为了透明,以显示XP或Vista的渐变色窗体或控件,所以产生了ParentBackground属性,和TLabel的Transparent属性有类似含义。 
增加了几个ColorMap控件,这下可以方便的访问Windows的颜色设置了,好。 
增加了TFlowPanel和TGridPanel 
增加了TCategoryButtons和TButtonsGroup :可产生如BDS的Tool Palette的按钮组效果 
其他的还有如VistaDialog等了。 
事件方面,TWinControl都增加了 
OnMouseActivate : 类似于OnMouseDown,只不过参数不同 
OnMouseEnter,OnMouseLeave分别代表鼠标移入和移出,这个好,以前为了得到鼠标移出事件,只能在外围的控件上处理移入事件来代替... 

事件部分: 
TWinControl均增加了如下事件 
OnMouseActivate 鼠标动作(任何动作) 
OnMouseEnter 鼠标移入 
OnMouseLeave 鼠标移出 
OnMouseWheel 鼠标滚动 
OnMouseWheelDown 鼠标滚轮按下 
OnMouseWheelUp 鼠标滚轮弹起 
增加了TWebBrowser控件,目前不知与TCppWebBrowser有何本质区别,只是TWebBrowser多了原本应该有的Anchors属性,TCppWebBrowser应该是为保持兼容而留的. 

先前我说的玻璃效果下显示的Menu或Button字体显示问题,有问题的显示效果: 
https://p-blog.csdn.net/images/p_blog_csdn_net/aniven/207912/o_glass.jpg 
看菜单部分,如果放置一个Button也是一样的问题。 
其实帮助里已经给出了答案: 
设置相关控件的DoubleBuffered为true即可。 

Project-> Options-> 选中Application,勾上Enable runtime themes 
就支持windowsxp的themes了,不再需要TXPManifest 

原BCB6里没有代码折叠功能 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值