本人算是delphi准高手,未用过vc开发过项目,想问下vc能否修改第三方控件的代码,能否自己修改微软自带的标准控件的代码,话说delphi的标准控件功能不是很强,有的太烂点了,但是delphi留了条后路,能自己修改原控件代码,这个太爽了,就因为这个无法放弃delphi,想转型vc,问vc也能做到吗?

解决方案 »

  1.   

    继承delphi也能,但是太麻烦了,如果要修改的地方很多就不容易搞清其中的逻辑关系,而且工作量很大,还是直接修改较方便,我又不是要生成新的控件,再多问一句,微软的标准控件自带源码吗?delphi可是自带的,很方便的!
      

  2.   

    微软的不带源代码的,不是Delphi的Vcl库
      

  3.   

    楼主好像还没搞清楚delphi和vc是怎么回事,这个准高手扯的有点远。
    window操作系统本身提供基本控件,这些基本控件没有源代码,vc中的MFC对一些
    控件进行了简单包装,复杂的必须按上面几位所说,子类化,继承重写,都可以。
    delphi是vcl库,它包装的同样是windows操作系统本身的基本控件,只不过比MFC做的
    包装多些,毕竟是RAD工具,其实手法也是类似子类化,继承重写这些,某些控件是在
    基本控件基础上做的二次开发相当于,比如大型一点的控件DataGrid...
    你所谓可以修改代码。大概是修改VCL代码,这个其实跟修改MFC代码一样,可以做
    但不应提倡。如果是第三方的控件,那要看第三方是否开放源代码。dephi和VC一样,VC也有
    第三方控件,有的也带源码,你也可以修改。
    综上,其实delphi跟vc在控件开发上面没有本质区别,楼主还未理解。。
      

  4.   

    delphi虽然有很多VCL控件,但VC也有很多别人扩展的控件类,而且还不需要像delphi得安装控件
      

  5.   

    vc跟delphi相比,优点在于有更多的资源可用,系统自带的控件不能改,但是可以继承、派生,更有数不清的第三方控件源码可自由使用,唯一要注意的地方就是遵守各种开源协议。
      

  6.   

    还没有人敢称Delphi高手,我相信万一老师都不敢这么说。连基本的程序运行原理都没有搞明白,只是会拖拉几个控件罢了。建议学习Delphi的,先看懂《Inside VCL》,《Delphi精要》这两本书
      

  7.   

    我举个例子,我在做图标软件时,发现delphi原本不支持24位真彩色,也没有三方控件,但是在别人的启发下,发现只要修改delphi原控件代码,只要修改几行而已,就实现了,太方便了!不知vc有没有如此神来之招?如果不能,转型vc后对我来说有点麻烦了,得另想他招了!
      

  8.   

    想你这样的就不要用VC了。VC太垃圾了,什么都要重新写,控件没有Delphi那么多。不能随便改改就达到想要的效果。 卧槽,万一是谁。 
      

  9.   

    本人极度讨厌微软的东西,如果不是vc、c++是主流,如果不是微软的帮助文档都是c++格式,如果不是现今热门语言都是仿c++的话,真不愿意学c++,就拿变量声明来说,c++可以在任何地方声明变量,十分不喜欢这种习惯,太随意了,c++语句格式好像是一个老气横秋、自我意识超强的人发明的,自己明白就行了,根本不考虑用户的感受,用户是否能较容易地学习和掌握,而且几十年不变,大家只能跟从第一个家伙的坏习惯了,实在太难学了虽说很强大,哪位大佬能把它包装一下,就用它的编译引擎,就像易语言一样,把它弄得容易些!没办法,delphi也有自己的问题,这年头不会c++实在不行啊!
      

  10.   

    你讨厌微软的东西,与c++有什么关系,
    vc只是微软做的c++的idec#可以说是微软的东西,
    可是 c++,不是微软的东西,楼主说自己是delphi准高手,笑坏了。
      

  11.   

    转MFC可以, 用第三方控件也没问题. 
    第三方控件就像DELPHI的第三方控件一样, 不一定开源的.
    自带控件的修改, 就拿个EDIT来比较, MFC所做的, 只是最基本的一些系统API打包, DELPHI是做了更多更方便的打包, 像事件, 属性等等. 
    MFC不是修改源代码的问题, 而是根本就要你从开始全部自己写, MFC提供的都只是在最最基础的东西进行一定简化, 不论从架构上还是功能上, 几乎可以说是0. 表格, 内存数据集, HTTP相关的, COM等等都基本是自己写的, MFC和ATL只作最简单的支持而已.我也是DELPHI转过来学VC, 假如是写界面相关的程序, 劝你就别用VC++了. 用C#会跟用DELPHI差不多. 用VC打包一些底层功能倒是很不错的.
      

  12.   

    看了楼主的发言估计楼主是个Delphi的“拖拽”准高手。极度讨厌微软的东西,然后说了一些你认为C++
    的缺点,这跟微软有毛关系啊?关于变量声明、随意,其实你可以按你的习惯用C++啊,没人强迫你。
    我就见过用#define重定义了N多C/C++语法元素,搞的C++跟VB差不多的程序。
    RAD有其方便之处,但不利于深入。做到一定深度开发的话,你就知道delphi的限制了,我1997-2000那会儿
    用delphi。后来不用了,delphi确实有它的优势,但核心技术不掌握在borland手里,所以它干不过微软。
    delphi如今日渐势微,也是有其深层因素的。楼主适合学习C#,VB.NET,Java那些。