一时地摊上又买不到它,问问2007版的新特点及区别?
6 个解决方案
#2
主要是IDE、数据库引擎、Vista支持等方面的变化。
下一个版本据说支持unicode
下一个版本据说支持unicode
#3
顶一下:)
#4
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字体显示问题,有问题的显示效果:
http://p.blog.csdn.net/images/p_blog_csdn_net/aniven/207912/o_glass.jpg
看菜单部分,如果放置一个Button也是一样的问题。
其实帮助里已经给出了答案:
设置相关控件的DoubleBuffered为true即可。
zplinze
Project-> Options-> 选中Application,勾上Enable runtime themes
就支持windowsxp的themes了,不再需要TXPManifest
sfengnet原BCB6里没有代码折叠功能
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2089270
ydlchina发表于 2008年02月13日 07:35:00
在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字体显示问题,有问题的显示效果:
http://p.blog.csdn.net/images/p_blog_csdn_net/aniven/207912/o_glass.jpg
看菜单部分,如果放置一个Button也是一样的问题。
其实帮助里已经给出了答案:
设置相关控件的DoubleBuffered为true即可。
zplinze
Project-> Options-> 选中Application,勾上Enable runtime themes
就支持windowsxp的themes了,不再需要TXPManifest
sfengnet原BCB6里没有代码折叠功能
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2089270
ydlchina发表于 2008年02月13日 07:35:00
#5
看样子不得不找地摊大妈升级了!
#6
顶顶
#1
#2
主要是IDE、数据库引擎、Vista支持等方面的变化。
下一个版本据说支持unicode
下一个版本据说支持unicode
#3
顶一下:)
#4
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字体显示问题,有问题的显示效果:
http://p.blog.csdn.net/images/p_blog_csdn_net/aniven/207912/o_glass.jpg
看菜单部分,如果放置一个Button也是一样的问题。
其实帮助里已经给出了答案:
设置相关控件的DoubleBuffered为true即可。
zplinze
Project-> Options-> 选中Application,勾上Enable runtime themes
就支持windowsxp的themes了,不再需要TXPManifest
sfengnet原BCB6里没有代码折叠功能
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2089270
ydlchina发表于 2008年02月13日 07:35:00
在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字体显示问题,有问题的显示效果:
http://p.blog.csdn.net/images/p_blog_csdn_net/aniven/207912/o_glass.jpg
看菜单部分,如果放置一个Button也是一样的问题。
其实帮助里已经给出了答案:
设置相关控件的DoubleBuffered为true即可。
zplinze
Project-> Options-> 选中Application,勾上Enable runtime themes
就支持windowsxp的themes了,不再需要TXPManifest
sfengnet原BCB6里没有代码折叠功能
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2089270
ydlchina发表于 2008年02月13日 07:35:00
#5
看样子不得不找地摊大妈升级了!
#6
顶顶